Update of /cvsroot/python/python/dist/src/Python In directory usw-pr-cvs1:/tmp/cvs-serv20723/Python Modified Files: thread_beos.h thread_cthread.h thread_foobar.h thread_lwp.h thread_nt.h thread_os2.h thread_pth.h thread_pthread.h thread_sgi.h thread_solaris.h Log Message: Remove the unused & broken PyThread_*_sema() functions and related constants. This closes SF patch #504215. Index: thread_beos.h =================================================================== RCS file: /cvsroot/python/python/dist/src/Python/thread_beos.h,v retrieving revision 2.8 retrieving revision 2.9 diff -C2 -d -r2.8 -r2.9 *** thread_beos.h 2001/11/28 22:07:30 2.8 --- thread_beos.h 2002/01/19 22:02:55 2.9 *************** *** 286,357 **** } } - - /* ---------------------------------------------------------------------- - * Semaphore support. - * - * Guido says not to implement this because it's not used anywhere; - * I'll do it anyway, you never know when it might be handy, and it's - * easy... - */ - PyThread_type_sema PyThread_allocate_sema( int value ) - { - sem_id sema; - - dprintf(("PyThread_allocate_sema called\n")); - - sema = create_sem( value, "python semaphore" ); - if( sema < B_NO_ERROR ) { - /* TODO: that's bad, raise an exception */ - return 0; - } - - dprintf(("PyThread_allocate_sema() -> %p\n", sema)); - return (PyThread_type_sema) sema; - } - - void PyThread_free_sema( PyThread_type_sema sema ) - { - status_t retval; - - dprintf(("PyThread_free_sema(%p) called\n", sema)); - - retval = delete_sem( (sem_id)sema ); - if( retval != B_NO_ERROR ) { - /* TODO: that's bad, raise an exception */ - return; - } - } - - int PyThread_down_sema( PyThread_type_sema sema, int waitflag ) - { - status_t retval; - - dprintf(("PyThread_down_sema(%p, %d) called\n", sema, waitflag)); - - if( waitflag ) { - retval = acquire_sem( (sem_id)sema ); - } else { - retval = acquire_sem_etc( (sem_id)sema, 1, B_TIMEOUT, 0 ); - } - - if( retval != B_NO_ERROR ) { - /* TODO: that's bad, raise an exception */ - return 0; - } - - dprintf(("PyThread_down_sema(%p) return\n", sema)); - return -1; - } - - void PyThread_up_sema( PyThread_type_sema sema ) - { - status_t retval; - - dprintf(("PyThread_up_sema(%p)\n", sema)); - - retval = release_sem( (sem_id)sema ); - if( retval != B_NO_ERROR ) { - /* TODO: that's bad, raise an exception */ - return; - } - } --- 286,287 ---- Index: thread_cthread.h =================================================================== RCS file: /cvsroot/python/python/dist/src/Python/thread_cthread.h,v retrieving revision 2.16 retrieving revision 2.17 diff -C2 -d -r2.16 -r2.17 *** thread_cthread.h 2002/01/01 18:41:33 2.16 --- thread_cthread.h 2002/01/19 22:02:55 2.17 *************** *** 155,202 **** mutex_unlock((mutex_t )lock); } - - /* - * Semaphore support. - * - * This implementation is ripped directly from the pthreads implementation. - * Which is to say that it is 100% non-functional at this time. - * - * Assuming the page is still up, documentation can be found at: - * - * http://www.doc.ic.ac.uk/~mac/manuals/solaris-manual-pages/solaris/usr/man/man2/_lwp_sema_wait.2.html - * - * Looking at the man page, it seems that one could easily implement a - * semaphore using a condition. - * - */ - PyThread_type_sema - PyThread_allocate_sema(int value) - { - char *sema = 0; - dprintf(("PyThread_allocate_sema called\n")); - if (!initialized) - PyThread_init_thread(); - - dprintf(("PyThread_allocate_sema() -> %p\n", sema)); - return (PyThread_type_sema) sema; - } - - void - PyThread_free_sema(PyThread_type_sema sema) - { - dprintf(("PyThread_free_sema(%p) called\n", sema)); - } - - int - PyThread_down_sema(PyThread_type_sema sema, int waitflag) - { - dprintf(("PyThread_down_sema(%p, %d) called\n", sema, waitflag)); - dprintf(("PyThread_down_sema(%p) return\n", sema)); - return -1; - } - - void - PyThread_up_sema(PyThread_type_sema sema) - { - dprintf(("PyThread_up_sema(%p)\n", sema)); - } --- 155,156 ---- Index: thread_foobar.h =================================================================== RCS file: /cvsroot/python/python/dist/src/Python/thread_foobar.h,v retrieving revision 2.12 retrieving revision 2.13 diff -C2 -d -r2.12 -r2.13 *** thread_foobar.h 2001/10/16 21:13:49 2.12 --- thread_foobar.h 2002/01/19 22:02:55 2.13 *************** *** 114,149 **** dprintf(("PyThread_release_lock(%p) called\n", lock)); } - - /* - * Semaphore support. - */ - PyThread_type_sema - PyThread_allocate_sema(int value) - { - dprintf(("PyThread_allocate_sema called\n")); - if (!initialized) - PyThread_init_thread(); - - dprintf(("PyThread_allocate_sema() -> %p\n", sema)); - return (PyThread_type_sema) sema; - } - - void - PyThread_free_sema(PyThread_type_sema sema) - { - dprintf(("PyThread_free_sema(%p) called\n", sema)); - } - - int - PyThread_down_sema(PyThread_type_sema sema, int waitflag) - { - dprintf(("PyThread_down_sema(%p, %d) called\n", sema, waitflag)); - dprintf(("PyThread_down_sema(%p) return\n", sema)); - return -1; - } - - void - PyThread_up_sema(PyThread_type_sema sema) - { - dprintf(("PyThread_up_sema(%p)\n", sema)); - } --- 114,115 ---- Index: thread_lwp.h =================================================================== RCS file: /cvsroot/python/python/dist/src/Python/thread_lwp.h,v retrieving revision 2.15 retrieving revision 2.16 diff -C2 -d -r2.15 -r2.16 *** thread_lwp.h 2001/10/16 21:13:49 2.15 --- thread_lwp.h 2002/01/19 22:02:55 2.16 *************** *** 148,180 **** mon_exit(((struct lock *) lock)->lock_monitor); } - - /* - * Semaphore support. - */ - PyThread_type_sema PyThread_allocate_sema(int value) - { - PyThread_type_sema sema = 0; - dprintf(("PyThread_allocate_sema called\n")); - if (!initialized) - PyThread_init_thread(); - - dprintf(("PyThread_allocate_sema() -> %p\n", sema)); - return (PyThread_type_sema) sema; - } - - void PyThread_free_sema(PyThread_type_sema sema) - { - dprintf(("PyThread_free_sema(%p) called\n", sema)); - } - - int PyThread_down_sema(PyThread_type_sema sema, int waitflag) - { - dprintf(("PyThread_down_sema(%p, %d) called\n", sema, waitflag)); - dprintf(("PyThread_down_sema(%p) return\n", sema)); - return -1; - } - - void PyThread_up_sema(PyThread_type_sema sema) - { - dprintf(("PyThread_up_sema(%p)\n", sema)); - } --- 148,149 ---- Index: thread_nt.h =================================================================== RCS file: /cvsroot/python/python/dist/src/Python/thread_nt.h,v retrieving revision 2.20 retrieving revision 2.21 diff -C2 -d -r2.20 -r2.21 *** thread_nt.h 2001/10/16 21:50:04 2.20 --- thread_nt.h 2002/01/19 22:02:55 2.21 *************** *** 320,374 **** dprintf(("%ld: Could not PyThread_release_lock(%p) error: %l\n", PyThread_get_thread_ident(), aLock, GetLastError())); } - - /* - * Semaphore support. - */ - PyThread_type_sema PyThread_allocate_sema(int value) - { - HANDLE aSemaphore; - - dprintf(("%ld: PyThread_allocate_sema called\n", PyThread_get_thread_ident())); - if (!initialized) - PyThread_init_thread(); - - aSemaphore = CreateSemaphore( NULL, /* Security attributes */ - value, /* Initial value */ - INT_MAX, /* Maximum value */ - NULL); /* Name of semaphore */ - - dprintf(("%ld: PyThread_allocate_sema() -> %p\n", PyThread_get_thread_ident(), aSemaphore)); - - return (PyThread_type_sema) aSemaphore; - } - - void PyThread_free_sema(PyThread_type_sema aSemaphore) - { - dprintf(("%ld: PyThread_free_sema(%p) called\n", PyThread_get_thread_ident(), aSemaphore)); - - CloseHandle((HANDLE) aSemaphore); - } - - /* - XXX must do something about waitflag - */ - int PyThread_down_sema(PyThread_type_sema aSemaphore, int waitflag) - { - DWORD waitResult; - - dprintf(("%ld: PyThread_down_sema(%p) called\n", PyThread_get_thread_ident(), aSemaphore)); - - waitResult = WaitForSingleObject( (HANDLE) aSemaphore, INFINITE); - - dprintf(("%ld: PyThread_down_sema(%p) return: %l\n", PyThread_get_thread_ident(), aSemaphore, waitResult)); - return 0; - } - - void PyThread_up_sema(PyThread_type_sema aSemaphore) - { - ReleaseSemaphore( - (HANDLE) aSemaphore, /* Handle of semaphore */ - 1, /* increment count by one */ - NULL); /* not interested in previous count */ - - dprintf(("%ld: PyThread_up_sema(%p)\n", PyThread_get_thread_ident(), aSemaphore)); - } --- 320,321 ---- Index: thread_os2.h =================================================================== RCS file: /cvsroot/python/python/dist/src/Python/thread_os2.h,v retrieving revision 2.12 retrieving revision 2.13 diff -C2 -d -r2.12 -r2.13 *** thread_os2.h 2001/10/31 03:50:45 2.12 --- thread_os2.h 2002/01/19 22:02:55 2.13 *************** *** 210,238 **** DosExitCritSec(); } - - /* - * Semaphore support. - */ - PyThread_type_sema - PyThread_allocate_sema(int value) - { - return (PyThread_type_sema) 0; - } - - void - PyThread_free_sema(PyThread_type_sema aSemaphore) - { - - } - - int - PyThread_down_sema(PyThread_type_sema aSemaphore, int waitflag) - { - return -1; - } - - void - PyThread_up_sema(PyThread_type_sema aSemaphore) - { - dprintf(("%ld: PyThread_up_sema(%p)\n", PyThread_get_thread_ident(), aSemaphore)); - } --- 210,211 ---- Index: thread_pth.h =================================================================== RCS file: /cvsroot/python/python/dist/src/Python/thread_pth.h,v retrieving revision 2.8 retrieving revision 2.9 diff -C2 -d -r2.8 -r2.9 *** thread_pth.h 2001/10/16 21:13:49 2.8 --- thread_pth.h 2002/01/19 22:02:55 2.9 *************** *** 207,295 **** CHECK_STATUS("pth_cond_notify"); } - - /* - * Semaphore support. - */ - - struct semaphore { - pth_mutex_t mutex; - pth_cond_t cond; - int value; - }; - - PyThread_type_sema PyThread_allocate_sema(int value) - { - struct semaphore *sema; - int status, error = 0; - - dprintf(("PyThread_allocate_sema called\n")); - if (!initialized) - PyThread_init_thread(); - - sema = (struct semaphore *) malloc(sizeof(struct semaphore)); - if (sema != NULL) { - sema->value = value; - status = pth_mutex_init(&sema->mutex); - CHECK_STATUS("pth_mutex_init"); - status = pth_cond_init(&sema->cond); - CHECK_STATUS("pth_mutex_init"); - if (error) { - free((void *) sema); - sema = NULL; - } - } - dprintf(("PyThread_allocate_sema() -> %p\n", sema)); - return (PyThread_type_sema) sema; - } - - void PyThread_free_sema(PyThread_type_sema sema) - { - struct semaphore *thesema = (struct semaphore *) sema; - - dprintf(("PyThread_free_sema(%p) called\n", sema)); - free((void *) thesema); - } - - int PyThread_down_sema(PyThread_type_sema sema, int waitflag) - { - int status, error = 0, success; - struct semaphore *thesema = (struct semaphore *) sema; - - dprintf(("PyThread_down_sema(%p, %d) called\n", sema, waitflag)); - status = pth_mutex_acquire(&thesema->mutex, !waitflag, NULL); - CHECK_STATUS("pth_mutex_acquire"); - if (waitflag) { - while (!error && thesema->value <= 0) { - status = pth_cond_await(&thesema->cond, - &thesema->mutex, NULL); - CHECK_STATUS("pth_cond_await"); - } - } - if (error) - success = 0; - else if (thesema->value > 0) { - thesema->value--; - success = 1; - } - else - success = 0; - status = pth_mutex_release(&thesema->mutex); - CHECK_STATUS("pth_mutex_release"); - dprintf(("PyThread_down_sema(%p) return\n", sema)); - return success; - } - - void PyThread_up_sema(PyThread_type_sema sema) - { - int status, error = 0; - struct semaphore *thesema = (struct semaphore *) sema; - - dprintf(("PyThread_up_sema(%p)\n", sema)); - status = pth_mutex_acquire(&thesema->mutex, 0, NULL); - CHECK_STATUS("pth_mutex_acquire"); - thesema->value++; - status = pth_cond_notify(&thesema->cond, 1); - CHECK_STATUS("pth_cond_notify"); - status = pth_mutex_release(&thesema->mutex); - CHECK_STATUS("pth_mutex_release"); - } --- 207,208 ---- Index: thread_pthread.h =================================================================== RCS file: /cvsroot/python/python/dist/src/Python/thread_pthread.h,v retrieving revision 2.37 retrieving revision 2.38 diff -C2 -d -r2.37 -r2.38 *** thread_pthread.h 2002/01/15 20:36:14 2.37 --- thread_pthread.h 2002/01/19 22:02:55 2.38 *************** *** 406,505 **** CHECK_STATUS("pthread_cond_signal"); } - - /* - * Semaphore support. - */ - - struct semaphore { - pthread_mutex_t mutex; - pthread_cond_t cond; - int value; - }; - - PyThread_type_sema - PyThread_allocate_sema(int value) - { - struct semaphore *sema; - int status, error = 0; - - dprintf(("PyThread_allocate_sema called\n")); - if (!initialized) - PyThread_init_thread(); - - sema = (struct semaphore *) malloc(sizeof(struct semaphore)); - if (sema != NULL) { - sema->value = value; - status = pthread_mutex_init(&sema->mutex, - pthread_mutexattr_default); - CHECK_STATUS("pthread_mutex_init"); - status = pthread_cond_init(&sema->cond, - pthread_condattr_default); - CHECK_STATUS("pthread_cond_init"); - if (error) { - free((void *) sema); - sema = NULL; - } - } - dprintf(("PyThread_allocate_sema() -> %p\n", sema)); - return (PyThread_type_sema) sema; - } - - void - PyThread_free_sema(PyThread_type_sema sema) - { - int status, error = 0; - struct semaphore *thesema = (struct semaphore *) sema; - - dprintf(("PyThread_free_sema(%p) called\n", sema)); - status = pthread_cond_destroy(&thesema->cond); - CHECK_STATUS("pthread_cond_destroy"); - status = pthread_mutex_destroy(&thesema->mutex); - CHECK_STATUS("pthread_mutex_destroy"); - free((void *) thesema); - } - - int - PyThread_down_sema(PyThread_type_sema sema, int waitflag) - { - int status, error = 0, success; - struct semaphore *thesema = (struct semaphore *) sema; - - dprintf(("PyThread_down_sema(%p, %d) called\n", sema, waitflag)); - status = pthread_mutex_lock(&thesema->mutex); - CHECK_STATUS("pthread_mutex_lock"); - if (waitflag) { - while (!error && thesema->value <= 0) { - status = pthread_cond_wait(&thesema->cond, - &thesema->mutex); - CHECK_STATUS("pthread_cond_wait"); - } - } - if (error) - success = 0; - else if (thesema->value > 0) { - thesema->value--; - success = 1; - } - else - success = 0; - status = pthread_mutex_unlock(&thesema->mutex); - CHECK_STATUS("pthread_mutex_unlock"); - dprintf(("PyThread_down_sema(%p) return\n", sema)); - return success; - } - - void - PyThread_up_sema(PyThread_type_sema sema) - { - int status, error = 0; - struct semaphore *thesema = (struct semaphore *) sema; - - dprintf(("PyThread_up_sema(%p)\n", sema)); - status = pthread_mutex_lock(&thesema->mutex); - CHECK_STATUS("pthread_mutex_lock"); - thesema->value++; - status = pthread_cond_signal(&thesema->cond); - CHECK_STATUS("pthread_cond_signal"); - status = pthread_mutex_unlock(&thesema->mutex); - CHECK_STATUS("pthread_mutex_unlock"); - } --- 406,407 ---- Index: thread_sgi.h =================================================================== RCS file: /cvsroot/python/python/dist/src/Python/thread_sgi.h,v retrieving revision 2.15 retrieving revision 2.16 diff -C2 -d -r2.15 -r2.16 *** thread_sgi.h 2001/10/16 21:13:49 2.15 --- thread_sgi.h 2002/01/19 22:02:55 2.16 *************** *** 380,427 **** /* - * Semaphore support. - */ - PyThread_type_sema PyThread_allocate_sema(int value) - { - usema_t *sema; - dprintf(("PyThread_allocate_sema called\n")); - if (!initialized) - PyThread_init_thread(); - - if ((sema = usnewsema(shared_arena, value)) == NULL) - perror("usnewsema"); - dprintf(("PyThread_allocate_sema() -> %p\n", sema)); - return (PyThread_type_sema) sema; - } - - void PyThread_free_sema(PyThread_type_sema sema) - { - dprintf(("PyThread_free_sema(%p) called\n", sema)); - usfreesema((usema_t *) sema, shared_arena); - } - - int PyThread_down_sema(PyThread_type_sema sema, int waitflag) - { - int success; - - dprintf(("PyThread_down_sema(%p) called\n", sema)); - if (waitflag) - success = uspsema((usema_t *) sema); - else - success = uscpsema((usema_t *) sema); - if (success < 0) - perror(waitflag ? "uspsema" : "uscpsema"); - dprintf(("PyThread_down_sema(%p) return\n", sema)); - return success; - } - - void PyThread_up_sema(PyThread_type_sema sema) - { - dprintf(("PyThread_up_sema(%p)\n", sema)); - if (usvsema((usema_t *) sema) < 0) - perror("usvsema"); - } - - /* * Per-thread data ("key") support. */ --- 380,383 ---- Index: thread_solaris.h =================================================================== RCS file: /cvsroot/python/python/dist/src/Python/thread_solaris.h,v retrieving revision 2.17 retrieving revision 2.18 diff -C2 -d -r2.17 -r2.18 *** thread_solaris.h 2002/01/12 11:05:12 2.17 --- thread_solaris.h 2002/01/19 22:02:55 2.18 *************** *** 175,236 **** perror("mutex_unlock"); } - - /* - * Semaphore support. - */ - PyThread_type_sema - PyThread_allocate_sema(int value) - { - sema_t *sema; - dprintf(("PyThread_allocate_sema called\n")); - if (!initialized) - PyThread_init_thread(); - - sema = (sema_t *) malloc(sizeof(sema_t)); - if (sema_init(sema, value, USYNC_THREAD, 0)) { - perror("sema_init"); - free((void *) sema); - sema = 0; - } - dprintf(("PyThread_allocate_sema() -> %p\n", sema)); - return (PyThread_type_sema) sema; - } - - void - PyThread_free_sema(PyThread_type_sema sema) - { - dprintf(("PyThread_free_sema(%p) called\n", sema)); - if (sema_destroy((sema_t *) sema)) - perror("sema_destroy"); - free((void *) sema); - } - - int - PyThread_down_sema(PyThread_type_sema sema, int waitflag) - { - int success; - - dprintf(("PyThread_down_sema(%p) called\n", sema)); - if (waitflag) - success = sema_wait((sema_t *) sema); - else - success = sema_trywait((sema_t *) sema); - if (success < 0) { - if (errno == EBUSY) - success = 0; - else - perror("sema_wait"); - } - else - success = !success; - dprintf(("PyThread_down_sema(%p) return %d\n", sema, success)); - return success; - } - - void - PyThread_up_sema(PyThread_type_sema sema) - { - dprintf(("PyThread_up_sema(%p)\n", sema)); - if (sema_post((sema_t *) sema)) - perror("sema_post"); - } --- 175,176 ----
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4