Changeset 391 for python/trunk/Python/thread_foobar.h
- Timestamp:
- Mar 19, 2014, 11:31:01 PM (11 years ago)
- Location:
- python/trunk
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
python/trunk
-
Property svn:mergeinfo
set to
/python/vendor/Python-2.7.6 merged eligible /python/vendor/current merged eligible
-
Property svn:mergeinfo
set to
-
python/trunk/Python/thread_foobar.h
r2 r391 14 14 PyThread_start_new_thread(void (*func)(void *), void *arg) 15 15 { 16 int success = 0;/* init not needed when SOLARIS_THREADS and */17 16 int success = 0; /* init not needed when SOLARIS_THREADS and */ 17 /* C_THREADS implemented properly */ 18 18 19 20 21 22 19 dprintf(("PyThread_start_new_thread called\n")); 20 if (!initialized) 21 PyThread_init_thread(); 22 return success < 0 ? -1 : 0; 23 23 } 24 24 … … 26 26 PyThread_get_thread_ident(void) 27 27 { 28 if (!initialized) 29 PyThread_init_thread(); 30 } 31 32 static 33 void 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); 28 if (!initialized) 29 PyThread_init_thread(); 41 30 } 42 31 … … 44 33 PyThread_exit_thread(void) 45 34 { 46 do_PyThread_exit_thread(0); 35 dprintf(("PyThread_exit_thread called\n")); 36 if (!initialized) 37 exit(0); 47 38 } 48 49 void50 PyThread__exit_thread(void)51 {52 do_PyThread_exit_thread(1);53 }54 55 #ifndef NO_EXIT_PROG56 static57 void 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 else64 exit(status);65 }66 67 void68 PyThread_exit_prog(int status)69 {70 do_PyThread_exit_prog(status, 0);71 }72 73 void74 PyThread__exit_prog(int status)75 {76 do_PyThread_exit_prog(status, 1);77 }78 #endif /* NO_EXIT_PROG */79 39 80 40 /* … … 85 45 { 86 46 87 88 89 47 dprintf(("PyThread_allocate_lock called\n")); 48 if (!initialized) 49 PyThread_init_thread(); 90 50 91 92 51 dprintf(("PyThread_allocate_lock() -> %p\n", lock)); 52 return (PyThread_type_lock) lock; 93 53 } 94 54 … … 96 56 PyThread_free_lock(PyThread_type_lock lock) 97 57 { 98 58 dprintf(("PyThread_free_lock(%p) called\n", lock)); 99 59 } 100 60 … … 102 62 PyThread_acquire_lock(PyThread_type_lock lock, int waitflag) 103 63 { 104 64 int success; 105 65 106 107 108 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; 109 69 } 110 70 … … 112 72 PyThread_release_lock(PyThread_type_lock lock) 113 73 { 114 74 dprintf(("PyThread_release_lock(%p) called\n", lock)); 115 75 }
Note:
See TracChangeset
for help on using the changeset viewer.