diff options
author | agc <agc@pkgsrc.org> | 2001-03-23 15:57:45 +0000 |
---|---|---|
committer | agc <agc@pkgsrc.org> | 2001-03-23 15:57:45 +0000 |
commit | 6b715de33b48a4aa5d622e3cae6131943f9bbcb2 (patch) | |
tree | e65747df18a06b85e140d95d651e4fb0ea6e6399 /devel/unproven-pthreads | |
parent | f59b7c2acc4f097603a5a88307e9be98c239fee9 (diff) | |
download | pkgsrc-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/Makefile | 4 | ||||
-rw-r--r-- | devel/unproven-pthreads/files/patch-sum | 35 | ||||
-rw-r--r-- | devel/unproven-pthreads/patches/patch-ap | 20 | ||||
-rw-r--r-- | devel/unproven-pthreads/patches/patch-aq | 35 | ||||
-rw-r--r-- | devel/unproven-pthreads/patches/patch-ar | 100 |
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++; |