[Python-checkins] python/dist/src/Python thread_os2.h,2.15,2.16

aimacintyre@users.sourceforge.net aimacintyre@users.sourceforge.net
2002年12月04日 04:29:40 -0800


Update of /cvsroot/python/python/dist/src/Python
In directory sc8-pr-cvs1:/tmp/cvs-serv21877
Modified Files:
	thread_os2.h 
Log Message:
reformat for PEP-7 style conformance
Index: thread_os2.h
===================================================================
RCS file: /cvsroot/python/python/dist/src/Python/thread_os2.h,v
retrieving revision 2.15
retrieving revision 2.16
diff -C2 -d -r2.15 -r2.16
*** thread_os2.h	4 Dec 2002 12:27:06 -0000	2.15
--- thread_os2.h	4 Dec 2002 12:29:37 -0000	2.16
***************
*** 29,44 ****
 PyThread_start_new_thread(void (*func)(void *), void *arg)
 {
! int aThread;
! int success = 0;
 
! aThread = _beginthread(func,NULL,65536,arg);
 
! if( aThread == -1 ) {
! success = -1;
! fprintf(stderr,"aThread failed == %d",aThread);
! dprintf(("_beginthread failed. return %ld\n", errno));
! }
 
! return success;
 }
 
--- 29,44 ----
 PyThread_start_new_thread(void (*func)(void *), void *arg)
 {
! 	int aThread;
! 	int success = 0;
 
! 	aThread = _beginthread(func,NULL,65536,arg);
 
! 	if (aThread == -1) {
! 		success = -1;
! 		fprintf(stderr, "aThread failed == %d", aThread);
! 		dprintf(("_beginthread failed. return %ld\n", errno));
! 	}
 
! 	return success;
 }
 
***************
*** 47,62 ****
 {
 #if !defined(PYCC_GCC)
! PPIB pib;
! PTIB tib;
 #endif
 
! if (!initialized)
! PyThread_init_thread();
! 
 #if defined(PYCC_GCC)
! return _gettid();
 #else
! DosGetInfoBlocks(&tib,&pib);
! return tib->tib_ptib2->tib2_ultid;
 #endif
 }
--- 47,62 ----
 {
 #if !defined(PYCC_GCC)
! 	PPIB pib;
! 	PTIB tib;
 #endif
 
! 	if (!initialized)
! 		PyThread_init_thread();
! 
 #if defined(PYCC_GCC)
! 	return _gettid();
 #else
! 	DosGetInfoBlocks(&tib, &pib);
! 	return tib->tib_ptib2->tib2_ultid;
 #endif
 }
***************
*** 65,75 ****
 do_PyThread_exit_thread(int no_cleanup)
 {
! dprintf(("%ld: PyThread_exit_thread called\n", PyThread_get_thread_ident()));
! if (!initialized)
! if (no_cleanup)
! _exit(0);
! else
! exit(0);
! _endthread();
 }
 
--- 65,76 ----
 do_PyThread_exit_thread(int no_cleanup)
 {
! 	dprintf(("%ld: PyThread_exit_thread called\n",
! 		 PyThread_get_thread_ident()));
! 	if (!initialized)
! 		if (no_cleanup)
! 			_exit(0);
! 		else
! 			exit(0);
! 	_endthread();
 }
 
***************
*** 77,81 ****
 PyThread_exit_thread(void)
 {
! do_PyThread_exit_thread(0);
 }
 
--- 78,82 ----
 PyThread_exit_thread(void)
 {
! 	do_PyThread_exit_thread(0);
 }
 
***************
*** 83,87 ****
 PyThread__exit_thread(void)
 {
! do_PyThread_exit_thread(1);
 }
 
--- 84,88 ----
 PyThread__exit_thread(void)
 {
! 	do_PyThread_exit_thread(1);
 }
 
***************
*** 90,99 ****
 do_PyThread_exit_prog(int status, int no_cleanup)
 {
! dprintf(("PyThread_exit_prog(%d) called\n", status));
! if (!initialized)
! if (no_cleanup)
! _exit(status);
! else
! exit(status);
 }
 
--- 91,100 ----
 do_PyThread_exit_prog(int status, int no_cleanup)
 {
! 	dprintf(("PyThread_exit_prog(%d) called\n", status));
! 	if (!initialized)
! 		if (no_cleanup)
! 			_exit(status);
! 		else
! 			exit(status);
 }
 
***************
*** 101,105 ****
 PyThread_exit_prog(int status)
 {
! do_PyThread_exit_prog(status, 0);
 }
 
--- 102,106 ----
 PyThread_exit_prog(int status)
 {
! 	do_PyThread_exit_prog(status, 0);
 }
 
***************
*** 107,111 ****
 PyThread__exit_prog(int status)
 {
! do_PyThread_exit_prog(status, 1);
 }
 #endif /* NO_EXIT_PROG */
--- 108,112 ----
 PyThread__exit_prog(int status)
 {
! 	do_PyThread_exit_prog(status, 1);
 }
 #endif /* NO_EXIT_PROG */
***************
*** 118,123 ****
 
 typedef struct os2_lock_t {
! int is_set;
! HEV changed;
 } *type_os2_lock;
 
--- 119,124 ----
 
 typedef struct os2_lock_t {
! 	int is_set;
! 	HEV changed;
 } *type_os2_lock;
 
***************
*** 126,157 ****
 {
 #if defined(PYCC_GCC)
! _fmutex *sem = malloc(sizeof(_fmutex));
! if (!initialized)
! PyThread_init_thread();
! dprintf(("%ld: PyThread_allocate_lock() -> %lx\n",
! PyThread_get_thread_ident(),
! (long)sem));
! if (_fmutex_create(sem, 0)) {
! free(sem);
! sem = NULL;
! }
! return (PyThread_type_lock) sem;
 #else
! APIRET rc;
! type_os2_lock lock = (type_os2_lock)malloc(sizeof(struct os2_lock_t));
 
! dprintf(("PyThread_allocate_lock called\n"));
! if (!initialized)
! PyThread_init_thread();
 
! lock->is_set = 0;
 
! DosCreateEventSem(NULL, &lock->changed, 0, 0);
 
! dprintf(("%ld: PyThread_allocate_lock() -> %p\n", 
! PyThread_get_thread_ident(), 
! lock->changed));
 
! return (PyThread_type_lock) lock;
 #endif
 }
--- 127,158 ----
 {
 #if defined(PYCC_GCC)
! 	_fmutex *sem = malloc(sizeof(_fmutex));
! 	if (!initialized)
! 		PyThread_init_thread();
! 	dprintf(("%ld: PyThread_allocate_lock() -> %lx\n",
! 		 PyThread_get_thread_ident(),
! 		 (long)sem));
! 	if (_fmutex_create(sem, 0)) {
! 		free(sem);
! 		sem = NULL;
! 	}
! 	return (PyThread_type_lock)sem;
 #else
! 	APIRET rc;
! 	type_os2_lock lock = (type_os2_lock)malloc(sizeof(struct os2_lock_t));
 
! 	dprintf(("PyThread_allocate_lock called\n"));
! 	if (!initialized)
! 		PyThread_init_thread();
 
! 	lock->is_set = 0;
 
! 	DosCreateEventSem(NULL, &lock->changed, 0, 0);
 
! 	dprintf(("%ld: PyThread_allocate_lock() -> %p\n", 
! 		 PyThread_get_thread_ident(), 
! 	 lock->changed));
 
! 	return (PyThread_type_lock)lock;
 #endif
 }
***************
*** 161,177 ****
 {
 #if !defined(PYCC_GCC)
! type_os2_lock lock = (type_os2_lock)aLock;
 #endif
 
! dprintf(("%ld: PyThread_free_lock(%p) called\n", PyThread_get_thread_ident(),aLock));
 
 #if defined(PYCC_GCC)
! if (aLock) {
! _fmutex_close((_fmutex *)aLock);
! free((_fmutex *)aLock);
! }
 #else
! DosCloseEventSem(lock->changed);
! free(aLock);
 #endif
 }
--- 162,179 ----
 {
 #if !defined(PYCC_GCC)
! 	type_os2_lock lock = (type_os2_lock)aLock;
 #endif
 
! 	dprintf(("%ld: PyThread_free_lock(%p) called\n",
! 		 PyThread_get_thread_ident(),aLock));
 
 #if defined(PYCC_GCC)
! 	if (aLock) {
! 		_fmutex_close((_fmutex *)aLock);
! 		free((_fmutex *)aLock);
! 	}
 #else
! 	DosCloseEventSem(lock->changed);
! 	free(aLock);
 #endif
 }
***************
*** 186,230 ****
 {
 #if !defined(PYCC_GCC)
! int done = 0;
! ULONG count;
! PID pid = 0;
! TID tid = 0;
! type_os2_lock lock = (type_os2_lock)aLock;
 #endif
 
! dprintf(("%ld: PyThread_acquire_lock(%p, %d) called\n", PyThread_get_thread_ident(),
! aLock, waitflag));
 
 #if defined(PYCC_GCC)
! /* always successful if the lock doesn't exist */
! if (aLock && _fmutex_request((_fmutex *)aLock, waitflag ? 0 : _FMR_NOWAIT))
! return 0;
 #else
! while (!done) {
! /* if the lock is currently set, we have to wait for the state to change */
! if (lock->is_set) {
! if (!waitflag)
! return 0;
! DosWaitEventSem(lock->changed, SEM_INDEFINITE_WAIT);
! }
! 
! /* 
! * enter a critical section and try to get the semaphore. If
! * it is still locked, we will try again.
! */
! if (DosEnterCritSec())
! return 0;
 
! if (!lock->is_set) {
! lock->is_set = 1;
! DosResetEventSem(lock->changed, &count);
! done = 1;
! }
 
! DosExitCritSec();
! }
 #endif
 
! return 1;
 }
 
--- 188,236 ----
 {
 #if !defined(PYCC_GCC)
! 	int done = 0;
! 	ULONG count;
! 	PID pid = 0;
! 	TID tid = 0;
! 	type_os2_lock lock = (type_os2_lock)aLock;
 #endif
 
! 	dprintf(("%ld: PyThread_acquire_lock(%p, %d) called\n",
! 		 PyThread_get_thread_ident(),
! 		 aLock,
! 		 waitflag));
 
 #if defined(PYCC_GCC)
! 	/* always successful if the lock doesn't exist */
! 	if (aLock &&
! 	 _fmutex_request((_fmutex *)aLock, waitflag ? 0 : _FMR_NOWAIT))
! 		return 0;
 #else
! 	while (!done) {
! 		/* if the lock is currently set, we have to wait for
! 		 * the state to change
! 		 */
! 		if (lock->is_set) {
! 			if (!waitflag)
! 				return 0;
! 			DosWaitEventSem(lock->changed, SEM_INDEFINITE_WAIT);
! 		}
 
! 		/* enter a critical section and try to get the semaphore. If
! 		 * it is still locked, we will try again.
! 		 */
! 		if (DosEnterCritSec())
! 			return 0;
 
! 		if (!lock->is_set) {
! 			lock->is_set = 1;
! 			DosResetEventSem(lock->changed, &count);
! 			done = 1;
! 		}
! 
! 		DosExitCritSec();
! 	}
 #endif
 
! 	return 1;
 }
 
***************
*** 232,261 ****
 {
 #if !defined(PYCC_GCC)
! type_os2_lock lock = (type_os2_lock)aLock;
 #endif
 
! dprintf(("%ld: PyThread_release_lock(%p) called\n", PyThread_get_thread_ident(),aLock));
 
 #if defined(PYCC_GCC)
! if (aLock)
! _fmutex_release((_fmutex *)aLock);
 #else
! if (!lock->is_set) {
! dprintf(("%ld: Could not PyThread_release_lock(%p) error: %l\n",
! PyThread_get_thread_ident(), aLock, GetLastError()));
! return;
! }
 
 
! if (DosEnterCritSec()) {
! dprintf(("%ld: Could not PyThread_release_lock(%p) error: %l\n",
! PyThread_get_thread_ident(), aLock, GetLastError()));
! return;
! }
! 
! lock->is_set = 0;
! DosPostEventSem(lock->changed);
! 
! DosExitCritSec();
 #endif
 }
--- 238,272 ----
 {
 #if !defined(PYCC_GCC)
! 	type_os2_lock lock = (type_os2_lock)aLock;
 #endif
 
! 	dprintf(("%ld: PyThread_release_lock(%p) called\n",
! 		 PyThread_get_thread_ident(),
! 		 aLock));
 
 #if defined(PYCC_GCC)
! 	if (aLock)
! 		_fmutex_release((_fmutex *)aLock);
 #else
! 	if (!lock->is_set) {
! 		dprintf(("%ld: Could not PyThread_release_lock(%p) error: %l\n",
! 			 PyThread_get_thread_ident(),
! 			 aLock,
! 			 GetLastError()));
! 		return;
! 	}
! 
! 	if (DosEnterCritSec()) {
! 		dprintf(("%ld: Could not PyThread_release_lock(%p) error: %l\n",
! 			 PyThread_get_thread_ident(),
! 			 aLock,
! 			 GetLastError()));
! 		return;
! 	}
 
+ 	lock->is_set = 0;
+ 	DosPostEventSem(lock->changed);
 
! 	DosExitCritSec();
 #endif
 }

AltStyle によって変換されたページ (->オリジナル) /