• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 
2 /*
3  * Initialization.
4  */
5 static void
PyThread__init_thread(void)6 PyThread__init_thread(void)
7 {
8 }
9 
10 /*
11  * Thread support.
12  */
13 long
PyThread_start_new_thread(void (* func)(void *),void * arg)14 PyThread_start_new_thread(void (*func)(void *), void *arg)
15 {
16     int success = 0;            /* init not needed when SOLARIS_THREADS and */
17                 /* C_THREADS implemented properly */
18 
19     dprintf(("PyThread_start_new_thread called\n"));
20     if (!initialized)
21         PyThread_init_thread();
22     return success < 0 ? -1 : 0;
23 }
24 
25 long
PyThread_get_thread_ident(void)26 PyThread_get_thread_ident(void)
27 {
28     if (!initialized)
29         PyThread_init_thread();
30 }
31 
32 void
PyThread_exit_thread(void)33 PyThread_exit_thread(void)
34 {
35     dprintf(("PyThread_exit_thread called\n"));
36     if (!initialized)
37         exit(0);
38 }
39 
40 /*
41  * Lock support.
42  */
43 PyThread_type_lock
PyThread_allocate_lock(void)44 PyThread_allocate_lock(void)
45 {
46 
47     dprintf(("PyThread_allocate_lock called\n"));
48     if (!initialized)
49         PyThread_init_thread();
50 
51     dprintf(("PyThread_allocate_lock() -> %p\n", lock));
52     return (PyThread_type_lock) lock;
53 }
54 
55 void
PyThread_free_lock(PyThread_type_lock lock)56 PyThread_free_lock(PyThread_type_lock lock)
57 {
58     dprintf(("PyThread_free_lock(%p) called\n", lock));
59 }
60 
61 int
PyThread_acquire_lock(PyThread_type_lock lock,int waitflag)62 PyThread_acquire_lock(PyThread_type_lock lock, int waitflag)
63 {
64     int success;
65 
66     dprintf(("PyThread_acquire_lock(%p, %d) called\n", lock, waitflag));
67     dprintf(("PyThread_acquire_lock(%p, %d) -> %d\n", lock, waitflag, success));
68     return success;
69 }
70 
71 void
PyThread_release_lock(PyThread_type_lock lock)72 PyThread_release_lock(PyThread_type_lock lock)
73 {
74     dprintf(("PyThread_release_lock(%p) called\n", lock));
75 }
76