summaryrefslogtreecommitdiff
path: root/devel/unproven-pthreads
diff options
context:
space:
mode:
authoragc <agc>2001-03-23 15:57:45 +0000
committeragc <agc>2001-03-23 15:57:45 +0000
commit720a9174fb3f90b92443c385cb04b99e6dca9887 (patch)
treee65747df18a06b85e140d95d651e4fb0ea6e6399 /devel/unproven-pthreads
parent4267630a14f735eca2ba7bb17ce94ba3576134b5 (diff)
downloadpkgsrc-720a9174fb3f90b92443c385cb04b99e6dca9887.tar.gz
Incorporate some patches from Wolfgang Solfrank (ws@tools.de)
"The changes to unproven-pthreads fix a problem with fstat not using the pthreads filedescriptors, but the native ones (the code for this was already there (slightly buggy), but it wasn't used for some unknown reason). In addition, the handling of select is improved, as the original code may wake up not all threads waiting for some event." Bump version number to unproven-pthreads-0.17nb2
Diffstat (limited to 'devel/unproven-pthreads')
-rw-r--r--devel/unproven-pthreads/Makefile4
-rw-r--r--devel/unproven-pthreads/files/patch-sum35
-rw-r--r--devel/unproven-pthreads/patches/patch-ap20
-rw-r--r--devel/unproven-pthreads/patches/patch-aq35
-rw-r--r--devel/unproven-pthreads/patches/patch-ar100
5 files changed, 176 insertions, 18 deletions
diff --git a/devel/unproven-pthreads/Makefile b/devel/unproven-pthreads/Makefile
index 202f0b1f6cd..a2bb9f34fa6 100644
--- a/devel/unproven-pthreads/Makefile
+++ b/devel/unproven-pthreads/Makefile
@@ -1,8 +1,8 @@
-# $NetBSD: Makefile,v 1.21 2001/02/25 04:17:43 hubertf Exp $
+# $NetBSD: Makefile,v 1.22 2001/03/23 15:57:45 agc Exp $
#
DISTNAME= unproven-pthreads-0.17
-PKGNAME= ${DISTNAME}nb1
+PKGNAME= ${DISTNAME}nb2
CATEGORIES= devel
MASTER_SITES= ftp://ftp.flame.org/pub/netbsd/
diff --git a/devel/unproven-pthreads/files/patch-sum b/devel/unproven-pthreads/files/patch-sum
index 91dec8f5493..ba7db53d263 100644
--- a/devel/unproven-pthreads/files/patch-sum
+++ b/devel/unproven-pthreads/files/patch-sum
@@ -1,17 +1,20 @@
-$NetBSD: patch-sum,v 1.7 2001/01/10 03:18:17 briggs Exp $
+$NetBSD: patch-sum,v 1.8 2001/03/23 15:57:45 agc Exp $
-MD5 (patch-aa) = c22d3df041130ba62d48208de1f281c5
-MD5 (patch-ab) = 1e5276b89be447be4bb0983f6be81569
-MD5 (patch-ac) = c7df28ac1efaa1eb6c5c246ea2020aa9
-MD5 (patch-ad) = 3c6504ebf05008f1736b5c10680ccc87
-MD5 (patch-ae) = 7766b977f14b40509b56ac14ee0b767f
-MD5 (patch-af) = 6e42849e7483fa1b99871f4b274182dc
-MD5 (patch-ag) = c004c08ab5f156eb66f747c4f56d004d
-MD5 (patch-ah) = 8ab61f9ea67a6dd50e6af66f4ca07c5d
-MD5 (patch-ai) = 77f44d15c0a3a0a83e50443e0105c52c
-MD5 (patch-aj) = 441a7e4d630f1aacd405a4c8f28aca03
-MD5 (patch-ak) = bc07a9d4237009d3f327a62047633041
-MD5 (patch-al) = ec6839839009fb5897f3dd0dc94c3eeb
-MD5 (patch-am) = 1535b6eb6ffa7af13cdb16b9d5b3e4fc
-MD5 (patch-an) = 8d723c010f01cfb9911c099b6b5208e7
-MD5 (patch-ao) = 83e4f278aa81c2fb9a2b583514c7dde9
+SHA1 (patch-aa) = 21955c9af0fd80b6bd939631d79db7225a392ea1
+SHA1 (patch-ab) = 870977a372b34eecc44f8e32449e8a2e008b35a1
+SHA1 (patch-ac) = 0bace453902f1081d3d5b03af87d88a9717f1982
+SHA1 (patch-ad) = 7821707f34ca6c187ad3ed088b161ff8be249d62
+SHA1 (patch-ae) = 8bf343cd261c3cf25a30f44ffc0b0d0d09bba588
+SHA1 (patch-af) = cd5dea4351505f7183a3223c8849622e531608b7
+SHA1 (patch-ag) = fa046412dd222dc014768a448a5bd28c639d4aab
+SHA1 (patch-ah) = 123bce3c1730283a847cf0ee65039c73c40b7523
+SHA1 (patch-ai) = dd76c34072a56b2145077aad03f6de49cdf64a8c
+SHA1 (patch-aj) = 919431ce292c309116991cd02ac183379f1b5305
+SHA1 (patch-ak) = 6fc79597a694204d7266b46a50b39d25c81af2de
+SHA1 (patch-al) = 10d9c8354e8d032d3494505ea75b2cdb583295c0
+SHA1 (patch-am) = 72d33545b9705292261159ed1de4c9068475aeeb
+SHA1 (patch-an) = 6ad9a2b076fdefb75cbfd27bf304aedcad65d2a9
+SHA1 (patch-ao) = bcb19cf571bfdf7b3c7e8eaa128bb0cf79254c04
+SHA1 (patch-ap) = 9a1292ec8301fc38384198b3dc626f8faf85fd41
+SHA1 (patch-aq) = 1f3b6745ca3ac6b13e3575c230f0f7e5f7b9ec2f
+SHA1 (patch-ar) = 52b983df27904a21fcac75646aeddebe446c7a8c
diff --git a/devel/unproven-pthreads/patches/patch-ap b/devel/unproven-pthreads/patches/patch-ap
new file mode 100644
index 00000000000..e4bb4e5a555
--- /dev/null
+++ b/devel/unproven-pthreads/patches/patch-ap
@@ -0,0 +1,20 @@
+$NetBSD: patch-ap,v 1.1 2001/03/23 15:57:46 agc Exp $
+
+Patch from Wofgang Solfrank:
+
+The changes to unproven-pthreads fix a problem with fstat not using
+the pthreads filedescriptors, but the native ones (the code for this
+was already there (slightly buggy), but it wasn't used for some
+unknown reason). In addition, the handling of select is improved, as
+the original code may wake up not all threads waiting for some event.
+
+--- pthreads/Makefile.inc.orig Mon Jul 10 19:23:27 2000
++++ pthreads/Makefile.inc Fri Mar 23 15:43:59 2001
+@@ -9,6 +9,7 @@
+ process.c wait.c errno.c schedparam.c _exit.c prio_queue.c \
+ pthread_init.c init.cc sig.c info.c mutexattr.c select.c wrapper.c \
+ dump_state.c pthread_kill.c condattr.c
++SRCS+= stat.c
+
+ .if $(HAVE_SYSCALL_TEMPLATE) == yes
+ OBJS+= syscalls.o
diff --git a/devel/unproven-pthreads/patches/patch-aq b/devel/unproven-pthreads/patches/patch-aq
new file mode 100644
index 00000000000..407453409b0
--- /dev/null
+++ b/devel/unproven-pthreads/patches/patch-aq
@@ -0,0 +1,35 @@
+$NetBSD: patch-aq,v 1.1 2001/03/23 15:57:46 agc Exp $
+
+Patch from Wofgang Solfrank:
+
+The changes to unproven-pthreads fix a problem with fstat not using
+the pthreads filedescriptors, but the native ones (the code for this
+was already there (slightly buggy), but it wasn't used for some
+unknown reason). In addition, the handling of select is improved, as
+the original code may wake up not all threads waiting for some event.
+
+--- pthreads/stat.c.orig Sat Nov 6 23:30:50 1999
++++ pthreads/stat.c Fri Mar 23 15:43:59 2001
+@@ -54,7 +54,7 @@
+ int ret;
+
+ if ((ret = fd_lock(fd, FD_READ, NULL)) == OK) {
+- if ((ret = machdep_sys_fstat(fd_table[fd]->fd.i, buf)) < OK) {
++ if ((ret = machdep_sys_fstat(fd_table[fd]->fd, buf)) < OK) {
+ SET_ERRNO(-ret);
+ ret = NOTOK;
+ }
+@@ -63,6 +63,7 @@
+ return(ret);
+ }
+
++#ifdef __notdef__ /* Not neccessary (for now) */
+ /* ==========================================================================
+ * stat()
+ */
+@@ -92,4 +93,4 @@
+ return(ret);
+
+ }
+-
++#endif
diff --git a/devel/unproven-pthreads/patches/patch-ar b/devel/unproven-pthreads/patches/patch-ar
new file mode 100644
index 00000000000..59f42065d53
--- /dev/null
+++ b/devel/unproven-pthreads/patches/patch-ar
@@ -0,0 +1,100 @@
+$NetBSD: patch-ar,v 1.1 2001/03/23 15:57:46 agc Exp $
+
+Patch from Wofgang Solfrank:
+
+The changes to unproven-pthreads fix a problem with fstat not using
+the pthreads filedescriptors, but the native ones (the code for this
+was already there (slightly buggy), but it wasn't used for some
+unknown reason). In addition, the handling of select is improved, as
+the original code may wake up not all threads waiting for some event.
+
+--- pthreads/fd_kern.c.orig Mon Jul 10 19:23:28 2000
++++ pthreads/fd_kern.c Fri Mar 23 15:43:59 2001
+@@ -173,23 +173,26 @@
+ ; i++) {
+ int count_dec = 0;
+
+- if ((FD_ISSET(i, &pthread->data.select_data->exceptfds) &&
+- ! FD_ISSET(i, &fd_set_except))) {
+- FD_CLR(i, &pthread->data.select_data->exceptfds);
+- } else {
+- count_dec++;
+- }
+- if ((FD_ISSET(i, &pthread->data.select_data->writefds) &&
+- ! FD_ISSET(i, &fd_set_write))) {
+- FD_CLR(i, &pthread->data.select_data->writefds);
+- } else {
+- count_dec++;
+- }
+- if ((FD_ISSET(i, &pthread->data.select_data->readfds) &&
+- ! FD_ISSET(i, &fd_set_read))) {
+- FD_CLR(i, &pthread->data.select_data->readfds);
+- } else {
+- count_dec++;
++ if (FD_ISSET(i, &pthread->data.select_data->exceptfds)) {
++ if (!FD_ISSET(i, &fd_set_except)) {
++ FD_CLR(i, &pthread->data.select_data->exceptfds);
++ } else {
++ count_dec++;
++ }
++ }
++ if (FD_ISSET(i, &pthread->data.select_data->writefds)) {
++ if (!FD_ISSET(i, &fd_set_write)) {
++ FD_CLR(i, &pthread->data.select_data->writefds);
++ } else {
++ count_dec++;
++ }
++ }
++ if (FD_ISSET(i, &pthread->data.select_data->readfds)) {
++ if (!FD_ISSET(i, &fd_set_read)) {
++ FD_CLR(i, &pthread->data.select_data->readfds);
++ } else {
++ count_dec++;
++ }
+ }
+ if (count_dec) {
+ found_one++;
+@@ -312,23 +315,26 @@
+ for (i = 0; i < pthread->data.select_data->nfds; i++) {
+ int count_dec = 0;
+
+- if ((FD_ISSET(i, &pthread->data.select_data->exceptfds) &&
+- ! FD_ISSET(i, &fd_set_except))) {
+- FD_CLR(i, &pthread->data.select_data->exceptfds);
+- } else {
+- count_dec++;
+- }
+- if ((FD_ISSET(i, &pthread->data.select_data->writefds) &&
+- ! FD_ISSET(i, &fd_set_write))) {
+- FD_CLR(i, &pthread->data.select_data->writefds);
+- } else {
+- count_dec++;
+- }
+- if ((FD_ISSET(i, &pthread->data.select_data->readfds) &&
+- ! FD_ISSET(i, &fd_set_read))) {
+- FD_CLR(i, &pthread->data.select_data->readfds);
+- } else {
+- count_dec++;
++ if (FD_ISSET(i, &pthread->data.select_data->exceptfds)) {
++ if (!FD_ISSET(i, &fd_set_except)) {
++ FD_CLR(i, &pthread->data.select_data->exceptfds);
++ } else {
++ count_dec++;
++ }
++ }
++ if (FD_ISSET(i, &pthread->data.select_data->writefds)) {
++ if (!FD_ISSET(i, &fd_set_write)) {
++ FD_CLR(i, &pthread->data.select_data->writefds);
++ } else {
++ count_dec++;
++ }
++ }
++ if (FD_ISSET(i, &pthread->data.select_data->readfds)) {
++ if (!FD_ISSET(i, &fd_set_read)) {
++ FD_CLR(i, &pthread->data.select_data->readfds);
++ } else {
++ count_dec++;
++ }
+ }
+ if (count_dec) {
+ found_one++;