DG/UX thread patches (Ross Andrus)

This commit is contained in:
Guido van Rossum 1997-05-22 20:41:59 +00:00
parent b2c8ec4b75
commit 64f9105fb7
2 changed files with 12 additions and 3 deletions

View file

@ -49,6 +49,10 @@ extern char *getenv();
#include <unistd.h> #include <unistd.h>
#endif #endif
#ifdef __DGUX
#define _USING_POSIX4A_DRAFT6
#endif
#ifdef __sgi #ifdef __sgi
#ifndef HAVE_PTHREAD_H /* XXX Need to check in configure.in */ #ifndef HAVE_PTHREAD_H /* XXX Need to check in configure.in */
#undef _POSIX_THREADS #undef _POSIX_THREADS

View file

@ -70,7 +70,8 @@ PERFORMANCE OF THIS SOFTWARE.
# define PY_PTHREAD_STD # define PY_PTHREAD_STD
#elif defined(__linux) #elif defined(__linux)
# define PY_PTHREAD_STD # define PY_PTHREAD_STD
#elif defined(__DGUX)
# define PY_PTHREAD_D6
#endif #endif
@ -80,7 +81,7 @@ PERFORMANCE OF THIS SOFTWARE.
# define pthread_attr_default pthread_attr_default # define pthread_attr_default pthread_attr_default
# define pthread_mutexattr_default pthread_mutexattr_default # define pthread_mutexattr_default pthread_mutexattr_default
# define pthread_condattr_default pthread_condattr_default # define pthread_condattr_default pthread_condattr_default
#elif defined(PY_PTHREAD_STD) #elif defined(PY_PTHREAD_STD) || defined(PY_PTHREAD_D6)
# define pthread_attr_default ((pthread_attr_t *)NULL) # define pthread_attr_default ((pthread_attr_t *)NULL)
# define pthread_mutexattr_default ((pthread_mutexattr_t *)NULL) # define pthread_mutexattr_default ((pthread_mutexattr_t *)NULL)
# define pthread_condattr_default ((pthread_condattr_t *)NULL) # define pthread_condattr_default ((pthread_condattr_t *)NULL)
@ -136,6 +137,10 @@ int start_new_thread _P2(func, void (*func) _P((void *)), arg, void *arg)
pthread_attr_default, pthread_attr_default,
(pthread_startroutine_t)func, (pthread_startroutine_t)func,
(pthread_addr_t)arg (pthread_addr_t)arg
#elif defined(PY_PTHREAD_D6)
pthread_attr_default,
(void* (*)_P((void *)))func,
arg
#elif defined(PY_PTHREAD_D7) #elif defined(PY_PTHREAD_D7)
pthread_attr_default, pthread_attr_default,
func, func,
@ -148,7 +153,7 @@ int start_new_thread _P2(func, void (*func) _P((void *)), arg, void *arg)
); );
if (success >= 0) { if (success >= 0) {
#if defined(PY_THREAD_D4) || defined(PY_PTHREAD_D7) #if defined(PY_THREAD_D4) || defined(PY_PTHREAD_D6) || defined(PY_PTHREAD_D7)
pthread_detach(&th); pthread_detach(&th);
#elif defined(PY_PTHREAD_STD) #elif defined(PY_PTHREAD_STD)
pthread_detach(th); pthread_detach(th);