Bugzilla bug 48308: checked in part of the patch to bring NSPR up to

OpenUNIX8 build with pthreads.  The patch is contributed by
Hiram Clawson <hiramc@caldera.com>.
Modified files: _pth.h ptio.c ptthread.c pr/tests/Makefile.in
This commit is contained in:
wtc%netscape.com 2001-12-26 22:59:38 +00:00
parent d94537e7a3
commit c8db620184
4 changed files with 21 additions and 10 deletions

View File

@ -134,7 +134,8 @@
#elif defined(IRIX) || defined(OSF1) || defined(AIX) || defined(SOLARIS) \ #elif defined(IRIX) || defined(OSF1) || defined(AIX) || defined(SOLARIS) \
|| defined(HPUX) || defined(LINUX) || defined(FREEBSD) \ || defined(HPUX) || defined(LINUX) || defined(FREEBSD) \
|| defined(NETBSD) || defined(OPENBSD) || defined(BSDI) \ || defined(NETBSD) || defined(OPENBSD) || defined(BSDI) \
|| defined(VMS) || defined(NTO) || defined(DARWIN) || defined(VMS) || defined(NTO) || defined(DARWIN) \
|| defined(UNIXWARE)
#define _PT_PTHREAD_INVALIDATE_THR_HANDLE(t) (t) = 0 #define _PT_PTHREAD_INVALIDATE_THR_HANDLE(t) (t) = 0
#define _PT_PTHREAD_THR_HANDLE_IS_INVALID(t) (t) == 0 #define _PT_PTHREAD_THR_HANDLE_IS_INVALID(t) (t) == 0
#define _PT_PTHREAD_COPY_THR_HANDLE(st, dt) (dt) = (st) #define _PT_PTHREAD_COPY_THR_HANDLE(st, dt) (dt) = (st)
@ -194,7 +195,7 @@
*/ */
#if (defined(AIX) && !defined(AIX4_3)) || defined(LINUX) \ #if (defined(AIX) && !defined(AIX4_3)) || defined(LINUX) \
|| defined(FREEBSD) || defined(NETBSD) || defined(OPENBSD) \ || defined(FREEBSD) || defined(NETBSD) || defined(OPENBSD) \
|| defined(BSDI) || defined(VMS) || defined(BSDI) || defined(VMS) || defined(UNIXWARE)
#define PT_NO_SIGTIMEDWAIT #define PT_NO_SIGTIMEDWAIT
#endif #endif
@ -245,7 +246,7 @@
#define PT_PRIO_MIN 1 #define PT_PRIO_MIN 1
#define PT_PRIO_MAX 127 #define PT_PRIO_MAX 127
#elif defined(FREEBSD) || defined(NETBSD) || defined(OPENBSD) \ #elif defined(FREEBSD) || defined(NETBSD) || defined(OPENBSD) \
|| defined(BSDI) || defined(DARWIN) /* XXX */ || defined(BSDI) || defined(DARWIN) || defined(UNIXWARE) /* XXX */
#define PT_PRIO_MIN 0 #define PT_PRIO_MIN 0
#define PT_PRIO_MAX 126 #define PT_PRIO_MAX 126
#else #else
@ -278,7 +279,8 @@ extern int (*_PT_aix_yield_fcn)();
PR_END_MACRO PR_END_MACRO
#elif defined(HPUX) || defined(LINUX) || defined(SOLARIS) \ #elif defined(HPUX) || defined(LINUX) || defined(SOLARIS) \
|| defined(FREEBSD) || defined(NETBSD) || defined(OPENBSD) \ || defined(FREEBSD) || defined(NETBSD) || defined(OPENBSD) \
|| defined(BSDI) || defined(NTO) || defined(DARWIN) || defined(BSDI) || defined(NTO) || defined(DARWIN) \
|| defined(UNIXWARE)
#define _PT_PTHREAD_YIELD() sched_yield() #define _PT_PTHREAD_YIELD() sched_yield()
#else #else
#error "Need to define _PT_PTHREAD_YIELD for this platform" #error "Need to define _PT_PTHREAD_YIELD for this platform"

View File

@ -55,7 +55,7 @@
#include <sys/uio.h> #include <sys/uio.h>
#include <sys/file.h> #include <sys/file.h>
#include <sys/ioctl.h> #include <sys/ioctl.h>
#ifdef SOLARIS #if defined(SOLARIS) || defined(UNIXWARE)
#include <sys/filio.h> /* to pick up FIONREAD */ #include <sys/filio.h> /* to pick up FIONREAD */
#endif #endif
#ifdef _PR_POLL_AVAILABLE #ifdef _PR_POLL_AVAILABLE
@ -184,7 +184,8 @@ static ssize_t (*pt_aix_sendfile_fptr)() = NULL;
#define _PRSockOptVal_t char * #define _PRSockOptVal_t char *
#elif defined(IRIX) || defined(OSF1) || defined(AIX) || defined(HPUX) \ #elif defined(IRIX) || defined(OSF1) || defined(AIX) || defined(HPUX) \
|| defined(LINUX) || defined(FREEBSD) || defined(BSDI) || defined(VMS) \ || defined(LINUX) || defined(FREEBSD) || defined(BSDI) || defined(VMS) \
|| defined(NTO) || defined(OPENBSD) || defined(DARWIN) || defined(NTO) || defined(OPENBSD) || defined(DARWIN) \
|| defined(UNIXWARE)
#define _PRSockOptVal_t void * #define _PRSockOptVal_t void *
#else #else
#error "Cannot determine architecture" #error "Cannot determine architecture"
@ -198,7 +199,8 @@ static ssize_t (*pt_aix_sendfile_fptr)() = NULL;
|| defined(OSF1) || defined(SOLARIS) \ || defined(OSF1) || defined(SOLARIS) \
|| defined(HPUX10_30) || defined(HPUX11) || defined(LINUX) \ || defined(HPUX10_30) || defined(HPUX11) || defined(LINUX) \
|| defined(FREEBSD) || defined(NETBSD) || defined(OPENBSD) \ || defined(FREEBSD) || defined(NETBSD) || defined(OPENBSD) \
|| defined(BSDI) || defined(VMS) || defined(NTO) || defined(DARWIN) || defined(BSDI) || defined(VMS) || defined(NTO) || defined(DARWIN) \
|| defined(UNIXWARE)
#define _PRSelectFdSetArg_t fd_set * #define _PRSelectFdSetArg_t fd_set *
#else #else
#error "Cannot determine architecture" #error "Cannot determine architecture"
@ -2994,7 +2996,7 @@ static PRIOMethods _pr_socketpollfd_methods = {
#if defined(HPUX) || defined(OSF1) || defined(SOLARIS) || defined (IRIX) \ #if defined(HPUX) || defined(OSF1) || defined(SOLARIS) || defined (IRIX) \
|| defined(AIX) || defined(LINUX) || defined(FREEBSD) || defined(NETBSD) \ || defined(AIX) || defined(LINUX) || defined(FREEBSD) || defined(NETBSD) \
|| defined(OPENBSD) || defined(BSDI) || defined(VMS) || defined(NTO) \ || defined(OPENBSD) || defined(BSDI) || defined(VMS) || defined(NTO) \
|| defined(DARWIN) || defined(DARWIN) || defined(UNIXWARE)
#define _PR_FCNTL_FLAGS O_NONBLOCK #define _PR_FCNTL_FLAGS O_NONBLOCK
#else #else
#error "Can't determine architecture" #error "Can't determine architecture"

View File

@ -1215,7 +1215,7 @@ static void suspend_signal_handler(PRIntn sig)
while (me->suspend & PT_THREAD_SUSPENDED) while (me->suspend & PT_THREAD_SUSPENDED)
{ {
#if !defined(FREEBSD) && !defined(NETBSD) && !defined(OPENBSD) \ #if !defined(FREEBSD) && !defined(NETBSD) && !defined(OPENBSD) \
&& !defined(BSDI) && !defined(VMS) /*XXX*/ && !defined(BSDI) && !defined(VMS) && !defined(UNIXWARE) /*XXX*/
PRIntn rv; PRIntn rv;
sigwait(&sigwait_set, &rv); sigwait(&sigwait_set, &rv);
#endif #endif

View File

@ -396,6 +396,13 @@ EXTRA_LIBS = -lsocket -lnsl -lresolv -ldl
export LD_RUN_PATH = $(ABSOLUTE_LIB_DIR) export LD_RUN_PATH = $(ABSOLUTE_LIB_DIR)
endif endif
ifeq ($(OS_ARCH),OpenUNIX)
export LD_RUN_PATH = $(ABSOLUTE_LIB_DIR)
ifeq ($(USE_PTHREADS),1)
LDOPTS += -pthread
endif
endif
ifeq ($(OS_ARCH), UNIXWARE) ifeq ($(OS_ARCH), UNIXWARE)
export LD_RUN_PATH = $(ABSOLUTE_LIB_DIR) export LD_RUN_PATH = $(ABSOLUTE_LIB_DIR)
endif endif
@ -424,7 +431,7 @@ LIBPTHREAD = -lpthread
ifeq ($(OS_ARCH),AIX) ifeq ($(OS_ARCH),AIX)
LIBPTHREAD = -lpthreads LIBPTHREAD = -lpthreads
endif endif
ifeq (,$(filter-out FreeBSD OpenBSD BSD_OS NTO Darwin,$(OS_ARCH))) ifeq (,$(filter-out FreeBSD OpenBSD BSD_OS NTO Darwin OpenUNIX,$(OS_ARCH)))
LIBPTHREAD = LIBPTHREAD =
endif endif
ifeq ($(OS_ARCH)$(basename $(OS_RELEASE)),HP-UXB.10) ifeq ($(OS_ARCH)$(basename $(OS_RELEASE)),HP-UXB.10)