diff options
author | tegge <tegge@FreeBSD.org> | 2001-09-14 00:01:44 +0800 |
---|---|---|
committer | tegge <tegge@FreeBSD.org> | 2001-09-14 00:01:44 +0800 |
commit | 69cf721b8c1e368a8de0b0e3b1a011b408a5d7fe (patch) | |
tree | 361ded6197d5979c604f530318ee97ab9dd8767f /devel | |
parent | 85a899598ac01c2e3e840f41b31f20f61cfa241d (diff) | |
download | freebsd-ports-gnome-69cf721b8c1e368a8de0b0e3b1a011b408a5d7fe.tar.gz freebsd-ports-gnome-69cf721b8c1e368a8de0b0e3b1a011b408a5d7fe.tar.zst freebsd-ports-gnome-69cf721b8c1e368a8de0b0e3b1a011b408a5d7fe.zip |
Handle internal race that caused pthread_cond_timedwait() to block
waiting for a signal that wasn't sent.
Diffstat (limited to 'devel')
-rw-r--r-- | devel/linuxthreads/Makefile | 2 | ||||
-rw-r--r-- | devel/linuxthreads/files/patch-aa | 9 |
2 files changed, 10 insertions, 1 deletions
diff --git a/devel/linuxthreads/Makefile b/devel/linuxthreads/Makefile index 0c09a9dc6c61..9c341c54d04b 100644 --- a/devel/linuxthreads/Makefile +++ b/devel/linuxthreads/Makefile @@ -7,7 +7,7 @@ PORTNAME= linuxthreads PORTVERSION= 2.2.3 -PORTREVISION= 2 +PORTREVISION= 3 CATEGORIES= devel MASTER_SITES= ${MASTER_SITE_GNU} MASTER_SITE_SUBDIR= glibc diff --git a/devel/linuxthreads/files/patch-aa b/devel/linuxthreads/files/patch-aa index 54a6f6a848c2..ef2383e4861d 100644 --- a/devel/linuxthreads/files/patch-aa +++ b/devel/linuxthreads/files/patch-aa @@ -801,6 +801,15 @@ diff -ru ../../work/linuxthreads-2.2.3/pthread.c ./pthread.c /* Make current thread the main thread in case the calling thread changes its mind, does not exec(), and creates new threads instead. */ __pthread_reset_main_thread(); +@@ -967,7 +947,7 @@ + __pthread_timedsuspend_old(pthread_descr self, const struct timespec *abstime) + { + sigset_t unblock, initial_mask; +- int was_signalled = 0; ++ int was_signalled = 1; + sigjmp_buf jmpbuf; + + if (atomic_decrement(&self->p_resume_count) == 0) { @@ -1131,3 +1111,17 @@ static const int *const __pthread_require_wrappers = &__pthread_provide_wrappers; |