From b035ed05977fdef5ced4691028284b7f0ebaba19 Mon Sep 17 00:00:00 2001 From: rpj Date: Tue, 25 Jul 2000 11:27:23 +0000 Subject: 2000-07-25 Ross Johnson * dll.c (dllMain): Remove 2000-07-21 change - problem appears to be in pthread_create(). 2000-07-21 Ross Johnson * create.c (pthread_create): Set threadH to 0 (zero) everywhere. Some assignments were using NULL. Maybe it should be NULL everywhere - need to check. (I know they are nearly always the same thing - but not by definition.) * dll.c: Include resource leakage work-around. This is a partial FIXME which doesn't stop all leakage. The real problem needs to be found and fixed. - "David Baggett" * misc.c (pthread_self): Try to catch NULL thread handles at the point where they might be generated, even though they should always be valid at this point. * tsd.c (pthread_setspecific): return an error value if pthread_self() returns NULL. * sync.c (pthread_join): return an error value if pthread_self() returns NULL. * signal.c (pthread_sigmask): return an error value if pthread_self() returns NULL. --- signal.c | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'signal.c') diff --git a/signal.c b/signal.c index db0feec..f944e0b 100644 --- a/signal.c +++ b/signal.c @@ -35,6 +35,11 @@ pthread_sigmask(int how, sigset_t const *set, sigset_t *oset) { pthread_t thread = pthread_self(); + if (thread == NULL) + { + return ENOENT; + } + /* Validate the `how' argument.*/ if (set != NULL) { -- cgit v1.2.3