| deleted file mode 100644 |
| --- a/Python/thread_solaris.h |
| +++ /dev/null |
| @@ -1,130 +0,0 @@ |
| - |
| -#include <stdlib.h> |
| -#include <stdio.h> |
| -#include <errno.h> |
| -#include </usr/include/thread.h> |
| -#undef _POSIX_THREADS |
| - |
| - |
| -/* |
| - * Initialization. |
| - */ |
| -static void PyThread__init_thread(void) |
| -{ |
| -} |
| - |
| -/* |
| - * Thread support. |
| - */ |
| -struct func_arg { |
| - void (*func)(void *); |
| - void *arg; |
| -}; |
| - |
| -static void * |
| -new_func(void *funcarg) |
| -{ |
| - void (*func)(void *); |
| - void *arg; |
| - |
| - func = ((struct func_arg *) funcarg)->func; |
| - arg = ((struct func_arg *) funcarg)->arg; |
| - free(funcarg); |
| - (*func)(arg); |
| - return 0; |
| -} |
| - |
| - |
| -long |
| -PyThread_start_new_thread(void (*func)(void *), void *arg) |
| -{ |
| - thread_t tid; |
| - struct func_arg *funcarg; |
| - |
| - dprintf(("PyThread_start_new_thread called\n")); |
| - if (!initialized) |
| - PyThread_init_thread(); |
| - funcarg = (struct func_arg *) malloc(sizeof(struct func_arg)); |
| - funcarg->func = func; |
| - funcarg->arg = arg; |
| - if (thr_create(0, 0, new_func, funcarg, |
| - THR_DETACHED | THR_NEW_LWP, &tid)) { |
| - perror("thr_create"); |
| - free((void *) funcarg); |
| - return -1; |
| - } |
| - return tid; |
| -} |
| - |
| -long |
| -PyThread_get_thread_ident(void) |
| -{ |
| - if (!initialized) |
| - PyThread_init_thread(); |
| - return thr_self(); |
| -} |
| - |
| -void |
| -PyThread_exit_thread(void) |
| -{ |
| - dprintf(("PyThread_exit_thread called\n")); |
| - if (!initialized) |
| - exit(0); |
| - thr_exit(0); |
| -} |
| - |
| -/* |
| - * Lock support. |
| - */ |
| -PyThread_type_lock |
| -PyThread_allocate_lock(void) |
| -{ |
| - mutex_t *lock; |
| - |
| - dprintf(("PyThread_allocate_lock called\n")); |
| - if (!initialized) |
| - PyThread_init_thread(); |
| - |
| - lock = (mutex_t *) malloc(sizeof(mutex_t)); |
| - if (mutex_init(lock, USYNC_THREAD, 0)) { |
| - perror("mutex_init"); |
| - free((void *) lock); |
| - lock = 0; |
| - } |
| - dprintf(("PyThread_allocate_lock() -> %p\n", lock)); |
| - return (PyThread_type_lock) lock; |
| -} |
| - |
| -void |
| -PyThread_free_lock(PyThread_type_lock lock) |
| -{ |
| - dprintf(("PyThread_free_lock(%p) called\n", lock)); |
| - mutex_destroy((mutex_t *) lock); |
| - free((void *) lock); |
| -} |
| - |
| -int |
| -PyThread_acquire_lock(PyThread_type_lock lock, int waitflag) |
| -{ |
| - int success; |
| - |
| - dprintf(("PyThread_acquire_lock(%p, %d) called\n", lock, waitflag)); |
| - if (waitflag) |
| - success = mutex_lock((mutex_t *) lock); |
| - else |
| - success = mutex_trylock((mutex_t *) lock); |
| - if (success < 0) |
| - perror(waitflag ? "mutex_lock" : "mutex_trylock"); |
| - else |
| - success = !success; /* solaris does it the other way round */ |
| - dprintf(("PyThread_acquire_lock(%p, %d) -> %d\n", lock, waitflag, success)); |
| - return success; |
| -} |
| - |
| -void |
| -PyThread_release_lock(PyThread_type_lock lock) |
| -{ |
| - dprintf(("PyThread_release_lock(%p) called\n", lock)); |
| - if (mutex_unlock((mutex_t *) lock)) |
| - perror("mutex_unlock"); |
| -} |