summaryrefslogtreecommitdiff
path: root/devel/unproven-pthreads
diff options
context:
space:
mode:
authoragc <agc@pkgsrc.org>2001-03-23 15:57:45 +0000
committeragc <agc@pkgsrc.org>2001-03-23 15:57:45 +0000
commit6b715de33b48a4aa5d622e3cae6131943f9bbcb2 (patch)
treee65747df18a06b85e140d95d651e4fb0ea6e6399 /devel/unproven-pthreads
parentf59b7c2acc4f097603a5a88307e9be98c239fee9 (diff)
downloadpkgsrc-6b715de33b48a4aa5d622e3cae6131943f9bbcb2.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++;