Lines Matching defs:freelist
222 addcleanup(void *ptr, freelist_t *freelist, destr_t destructor)
226 index = freelist->first_available;
227 freelist->first_available += 1;
229 freelist->entries[index].item = ptr;
230 freelist->entries[index].destructor = destructor;
236 cleanreturn(int retval, freelist_t *freelist)
244 for (index = 0; index < freelist->first_available; ++index) {
245 freelist->entries[index].destructor(NULL,
246 freelist->entries[index].item);
249 if (freelist->entries_malloced)
250 PyMem_Free(freelist->entries);
272 freelist_t freelist;
276 freelist.entries = static_entries;
277 freelist.first_available = 0;
278 freelist.entries_malloced = 0;
333 freelist.entries = PyMem_NEW(freelistentry_t, max);
334 if (freelist.entries == NULL) {
338 freelist.entries_malloced = 1;
349 return cleanreturn(0, &freelist);
357 return cleanreturn(0, &freelist);
360 msgbuf, sizeof(msgbuf), &freelist);
362 return cleanreturn(1, &freelist);
364 return cleanreturn(0, &freelist);
369 return cleanreturn(0, &freelist);
386 return cleanreturn(0, &freelist);
394 sizeof(msgbuf), &freelist);
397 return cleanreturn(0, &freelist);
406 return cleanreturn(0, &freelist);
409 return cleanreturn(1, &freelist);
503 freelist_t *freelist)
570 msgbuf, bufsize, freelist);
588 int *levels, char *msgbuf, size_t bufsize, freelist_t *freelist)
596 bufsize, 0, freelist);
602 msgbuf, bufsize, freelist);
657 char *msgbuf, size_t bufsize, freelist_t *freelist)
909 if (addcleanup(p, freelist, cleanup_buffer)) {
955 if (addcleanup(p, freelist, cleanup_buffer)) {
1172 if (addcleanup(buffer, freelist, cleanup_ptr)) {
1218 if (addcleanup(buffer, freelist, cleanup_ptr)) {
1282 addcleanup(addr, freelist, convert) == -1)
1314 if (addcleanup(p, freelist, cleanup_buffer)) {
1632 freelist_t freelist;
1634 freelist.entries = static_entries;
1635 freelist.first_available = 0;
1636 freelist.entries_malloced = 0;
1664 return cleanreturn(0, &freelist);
1669 freelist.entries = PyMem_NEW(freelistentry_t, len);
1670 if (freelist.entries == NULL) {
1674 freelist.entries_malloced = 1;
1690 return cleanreturn(0, &freelist);
1699 return cleanreturn(0, &freelist);
1708 return cleanreturn(0, &freelist);
1715 return cleanreturn(0, &freelist);
1724 return cleanreturn(0, &freelist);
1750 return cleanreturn(0, &freelist);
1757 return cleanreturn(0, &freelist);
1769 return cleanreturn(0, &freelist);
1778 levels, msgbuf, sizeof(msgbuf), &freelist);
1781 return cleanreturn(0, &freelist);
1802 return cleanreturn(0, &freelist);
1810 return cleanreturn(1, &freelist);
1820 return cleanreturn(0, &freelist);
1834 return cleanreturn(0, &freelist);
1841 return cleanreturn(0, &freelist);
1858 return cleanreturn(0, &freelist);
1861 return cleanreturn(0, &freelist);
1871 return cleanreturn(0, &freelist);
1886 return cleanreturn(0, &freelist);
1895 return cleanreturn(0, &freelist);
1898 return cleanreturn(1, &freelist);
2073 freelist_t freelist;
2076 freelist.entries = static_entries;
2077 freelist.first_available = 0;
2078 freelist.entries_malloced = 0;
2103 freelist.entries = PyMem_NEW(freelistentry_t, len);
2104 if (freelist.entries == NULL) {
2108 freelist.entries_malloced = 1;
2132 return cleanreturn(0, &freelist);
2151 return cleanreturn(0, &freelist);
2173 return cleanreturn(0, &freelist);
2189 levels, msgbuf, sizeof(msgbuf), &freelist);
2192 return cleanreturn(0, &freelist);
2219 return cleanreturn(0, &freelist);
2226 return cleanreturn(1, &freelist);
2244 return cleanreturn(0, &freelist);
2258 return cleanreturn(0, &freelist);
2263 return cleanreturn(0, &freelist);
2266 return cleanreturn(1, &freelist);