Lines Matching defs:state
26 atexit_delete_cb(struct atexit_state *state, int i)
28 atexit_callback *cb = state->callbacks[i];
29 state->callbacks[i] = NULL;
40 atexit_cleanup(struct atexit_state *state)
43 for (int i = 0; i < state->ncallbacks; i++) {
44 cb = state->callbacks[i];
48 atexit_delete_cb(state, i);
50 state->ncallbacks = 0;
57 struct atexit_state *state = &interp->atexit;
59 assert(state->callbacks == NULL);
61 state->callback_len = 32;
62 state->ncallbacks = 0;
63 state->callbacks = PyMem_New(atexit_callback*, state->callback_len);
64 if (state->callbacks == NULL) {
74 struct atexit_state *state = &interp->atexit;
75 atexit_cleanup(state);
76 PyMem_Free(state->callbacks);
77 state->callbacks = NULL;
82 atexit_callfuncs(struct atexit_state *state)
86 if (state->ncallbacks == 0) {
90 for (int i = state->ncallbacks - 1; i >= 0; i--) {
91 atexit_callback *cb = state->callbacks[i];
108 atexit_cleanup(state);
117 struct atexit_state *state = &interp->atexit;
118 atexit_callfuncs(state);
153 struct atexit_state *state = get_atexit_state();
154 if (state->ncallbacks >= state->callback_len) {
156 state->callback_len += 16;
157 size_t size = sizeof(atexit_callback*) * (size_t)state->callback_len;
158 r = (atexit_callback**)PyMem_Realloc(state->callbacks, size);
162 state->callbacks = r;
178 state->callbacks[state->ncallbacks++] = callback;
193 struct atexit_state *state = get_atexit_state();
194 atexit_callfuncs(state);
218 struct atexit_state *state = get_atexit_state();
219 return PyLong_FromSsize_t(state->ncallbacks);
233 struct atexit_state *state = get_atexit_state();
234 for (int i = 0; i < state->ncallbacks; i++)
236 atexit_callback *cb = state->callbacks[i];
246 atexit_delete_cb(state, i);