move sections
[python/dscho.git] / Python / thread_foobar.h
blobd2b78c5caed05a2a0a335540fcf13dfeaa17c8f8
2 /*
3 * Initialization.
4 */
5 static void
6 PyThread__init_thread(void)
11 * Thread support.
13 long
14 PyThread_start_new_thread(void (*func)(void *), void *arg)
16 int success = 0; /* init not needed when SOLARIS_THREADS and */
17 /* C_THREADS implemented properly */
19 dprintf(("PyThread_start_new_thread called\n"));
20 if (!initialized)
21 PyThread_init_thread();
22 return success < 0 ? -1 : 0;
25 long
26 PyThread_get_thread_ident(void)
28 if (!initialized)
29 PyThread_init_thread();
32 void
33 PyThread_exit_thread(void)
35 dprintf(("PyThread_exit_thread called\n"));
36 if (!initialized)
37 exit(0);
41 * Lock support.
43 PyThread_type_lock
44 PyThread_allocate_lock(void)
47 dprintf(("PyThread_allocate_lock called\n"));
48 if (!initialized)
49 PyThread_init_thread();
51 dprintf(("PyThread_allocate_lock() -> %p\n", lock));
52 return (PyThread_type_lock) lock;
55 void
56 PyThread_free_lock(PyThread_type_lock lock)
58 dprintf(("PyThread_free_lock(%p) called\n", lock));
61 int
62 PyThread_acquire_lock(PyThread_type_lock lock, int waitflag)
64 int success;
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;
71 void
72 PyThread_release_lock(PyThread_type_lock lock)
74 dprintf(("PyThread_release_lock(%p) called\n", lock));