From cc29ad943903e9b8dba96cd978cb126f79f73e38 Mon Sep 17 00:00:00 2001 From: rpj Date: Tue, 2 Feb 1999 02:01:56 +0000 Subject: Mods to compile under Mingw32 egcs. Tue Feb 2 18:07:43 1999 Ross Johnson * implement.h: Add #include . Change sem_t to _pthread_sem_t. Various patches by Kevin Ruland * signal.c (pthread_sigmask): Add and modify casts. Reverse LHS/RHS bitwise assignments. * pthread.h: Remove #include . (_PTHREAD_ATTR_VALID): Add cast. (struct pthread_t_): Add sigmask element. * dll.c: Add "extern C" for DLLMain. (DllMain): Add cast. * create.c (pthread_create): Set sigmask in thread. * condvar.c: Remove #include. Change sem_* to _pthread_sem_*. * attr.c: Changed #include. * Makefile.in: Additional targets and changes to build the library as a DLL. Fri Jan 29 11:56:28 1999 Ross Johnson * Makefile.in (OBJS): Add semaphore.o to list. * semaphore.c (_pthread_sem_timedwait): Move from private.c. Rename sem_* to _pthread_sem_*. * pthread.h (pthread_cond_t): Change type of sem_t. _POSIX_SEMAPHORES no longer defined. * semaphore.h: Contents moved to implement.h. Removed from source tree. * implement.h: Add semaphore function prototypes and ename all functions to prepend '_pthread_'. They are now private to the pthreads-win32 implementation. * private.c: Change #warning. Move _pthread_sem_timedwait() to semaphore.c. * cleanup.c: Change #warning. * misc.c: Remove #include * pthread.def: Cleanup CVS merge conflicts. * global.c: Ditto. * ChangeLog: Ditto. * cleanup.c: Ditto. --- signal.c | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) (limited to 'signal.c') diff --git a/signal.c b/signal.c index ad8a614..9fd222b 100644 --- a/signal.c +++ b/signal.c @@ -12,7 +12,7 @@ #if HAVE_SIGSET_T int -pthread_sigmask(int how, const sigset_t *set, sigset_t *oset) +pthread_sigmask(int how, sigset_t const *set, sigset_t *oset) { pthread_t thread = pthread_self(); @@ -36,18 +36,18 @@ pthread_sigmask(int how, const sigset_t *set, sigset_t *oset) /* Copy the old mask before modifying it. */ if (oset != NULL) { - memcpy(oset, &(thread->attr.sigmask), sizeof(sigset_t)); + memcpy(oset, &(thread->sigmask), sizeof(sigset_t)); } if (set != NULL) { - int i; + unsigned int i; /* FIXME: this code assumes that sigmask is an even multiple of the size of a long integer. */ - unsigned long *src = (long *) set; - unsigned long *dest = &(thread->attr.sigmask); + unsigned long *src = (unsigned long const *) set; + unsigned long *dest = (unsigned long *) &(thread->sigmask); switch (how) { @@ -55,18 +55,18 @@ pthread_sigmask(int how, const sigset_t *set, sigset_t *oset) for (i = 0; i < (sizeof(sigset_t) / sizeof(unsigned long)); i++) { /* OR the bit field longword-wise. */ - *src++ |= *dest++; + *dest++ |= *src++; } break; case SIG_UNBLOCK: for (i = 0; i < (sizeof(sigset_t) / sizeof(unsigned long)); i++) { /* XOR the bitfield longword-wise. */ - *src++ ^= *dest++; + *dest++ ^= *src++; } case SIG_SETMASK: /* Replace the whole sigmask. */ - memcpy(&(thread->attr.sigmask), set, sizeof(sigset_t)); + memcpy(&(thread->sigmask), set, sizeof(sigset_t)); break; } } -- cgit v1.2.3