source: vendor/python/2.5/Python/thread_foobar.h

Last change on this file was 3225, checked in by bird, 18 years ago

Python 2.5

File size: 1.9 KB
Line 
1
2/*
3 * Initialization.
4 */
5static void
6PyThread__init_thread(void)
7{
8}
9
10/*
11 * Thread support.
12 */
13long
14PyThread_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
25long
26PyThread_get_thread_ident(void)
27{
28 if (!initialized)
29 PyThread_init_thread();
30}
31
32static
33void do_PyThread_exit_thread(int no_cleanup)
34{
35 dprintf(("PyThread_exit_thread called\n"));
36 if (!initialized)
37 if (no_cleanup)
38 _exit(0);
39 else
40 exit(0);
41}
42
43void
44PyThread_exit_thread(void)
45{
46 do_PyThread_exit_thread(0);
47}
48
49void
50PyThread__exit_thread(void)
51{
52 do_PyThread_exit_thread(1);
53}
54
55#ifndef NO_EXIT_PROG
56static
57void do_PyThread_exit_prog(int status, int no_cleanup)
58{
59 dprintf(("PyThread_exit_prog(%d) called\n", status));
60 if (!initialized)
61 if (no_cleanup)
62 _exit(status);
63 else
64 exit(status);
65}
66
67void
68PyThread_exit_prog(int status)
69{
70 do_PyThread_exit_prog(status, 0);
71}
72
73void
74PyThread__exit_prog(int status)
75{
76 do_PyThread_exit_prog(status, 1);
77}
78#endif /* NO_EXIT_PROG */
79
80/*
81 * Lock support.
82 */
83PyThread_type_lock
84PyThread_allocate_lock(void)
85{
86
87 dprintf(("PyThread_allocate_lock called\n"));
88 if (!initialized)
89 PyThread_init_thread();
90
91 dprintf(("PyThread_allocate_lock() -> %p\n", lock));
92 return (PyThread_type_lock) lock;
93}
94
95void
96PyThread_free_lock(PyThread_type_lock lock)
97{
98 dprintf(("PyThread_free_lock(%p) called\n", lock));
99}
100
101int
102PyThread_acquire_lock(PyThread_type_lock lock, int waitflag)
103{
104 int success;
105
106 dprintf(("PyThread_acquire_lock(%p, %d) called\n", lock, waitflag));
107 dprintf(("PyThread_acquire_lock(%p, %d) -> %d\n", lock, waitflag, success));
108 return success;
109}
110
111void
112PyThread_release_lock(PyThread_type_lock lock)
113{
114 dprintf(("PyThread_release_lock(%p) called\n", lock));
115}
Note: See TracBrowser for help on using the repository browser.