|
1 |
|
2 #ifndef Py_PYTHREAD_H |
|
3 #define Py_PYTHREAD_H |
|
4 |
|
5 #define NO_EXIT_PROG /* don't define PyThread_exit_prog() */ |
|
6 /* (the result is no use of signals on SGI) */ |
|
7 |
|
8 typedef void *PyThread_type_lock; |
|
9 typedef void *PyThread_type_sema; |
|
10 |
|
11 #ifdef __cplusplus |
|
12 extern "C" { |
|
13 #endif |
|
14 |
|
15 PyAPI_FUNC(void) PyThread_init_thread(void); |
|
16 PyAPI_FUNC(long) PyThread_start_new_thread(void (*)(void *), void *); |
|
17 PyAPI_FUNC(void) PyThread_exit_thread(void); |
|
18 PyAPI_FUNC(void) PyThread__PyThread_exit_thread(void); |
|
19 PyAPI_FUNC(long) PyThread_get_thread_ident(void); |
|
20 |
|
21 PyAPI_FUNC(PyThread_type_lock) PyThread_allocate_lock(void); |
|
22 PyAPI_FUNC(void) PyThread_free_lock(PyThread_type_lock); |
|
23 PyAPI_FUNC(int) PyThread_acquire_lock(PyThread_type_lock, int); |
|
24 #define WAIT_LOCK 1 |
|
25 #define NOWAIT_LOCK 0 |
|
26 PyAPI_FUNC(void) PyThread_release_lock(PyThread_type_lock); |
|
27 |
|
28 PyAPI_FUNC(size_t) PyThread_get_stacksize(void); |
|
29 PyAPI_FUNC(int) PyThread_set_stacksize(size_t); |
|
30 |
|
31 #ifndef NO_EXIT_PROG |
|
32 PyAPI_FUNC(void) PyThread_exit_prog(int); |
|
33 PyAPI_FUNC(void) PyThread__PyThread_exit_prog(int); |
|
34 #endif |
|
35 |
|
36 /* Thread Local Storage (TLS) API */ |
|
37 PyAPI_FUNC(int) PyThread_create_key(void); |
|
38 PyAPI_FUNC(void) PyThread_delete_key(int); |
|
39 PyAPI_FUNC(int) PyThread_set_key_value(int, void *); |
|
40 PyAPI_FUNC(void *) PyThread_get_key_value(int); |
|
41 PyAPI_FUNC(void) PyThread_delete_key_value(int key); |
|
42 |
|
43 /* Cleanup after a fork */ |
|
44 PyAPI_FUNC(void) PyThread_ReInitTLS(void); |
|
45 |
|
46 #ifdef __cplusplus |
|
47 } |
|
48 #endif |
|
49 |
|
50 #endif /* !Py_PYTHREAD_H */ |