1 2 #ifndef Py_PYTHREAD_H 3 #define Py_PYTHREAD_H 4 5 typedef void *PyThread_type_lock; 6 typedef void *PyThread_type_sema; 7 8 #ifdef __cplusplus 9 extern "C" { 10 #endif 11 12 PyAPI_FUNC(void) PyThread_init_thread(void); 13 PyAPI_FUNC(long) PyThread_start_new_thread(void (*)(void *), void *); 14 PyAPI_FUNC(void) PyThread_exit_thread(void); 15 PyAPI_FUNC(long) PyThread_get_thread_ident(void); 16 17 PyAPI_FUNC(PyThread_type_lock) PyThread_allocate_lock(void); 18 PyAPI_FUNC(void) PyThread_free_lock(PyThread_type_lock); 19 PyAPI_FUNC(int) PyThread_acquire_lock(PyThread_type_lock, int); 20 #define WAIT_LOCK 1 21 #define NOWAIT_LOCK 0 22 PyAPI_FUNC(void) PyThread_release_lock(PyThread_type_lock); 23 24 PyAPI_FUNC(size_t) PyThread_get_stacksize(void); 25 PyAPI_FUNC(int) PyThread_set_stacksize(size_t); 26 27 /* Thread Local Storage (TLS) API */ 28 PyAPI_FUNC(int) PyThread_create_key(void); 29 PyAPI_FUNC(void) PyThread_delete_key(int); 30 PyAPI_FUNC(int) PyThread_set_key_value(int, void *); 31 PyAPI_FUNC(void *) PyThread_get_key_value(int); 32 PyAPI_FUNC(void) PyThread_delete_key_value(int key); 33 34 /* Cleanup after a fork */ 35 PyAPI_FUNC(void) PyThread_ReInitTLS(void); 36 37 #ifdef __cplusplus 38 } 39 #endif 40 41 #endif /* !Py_PYTHREAD_H */ 42