Update.
authorUlrich Drepper <drepper@redhat.com>
Sat, 13 Jan 2001 16:09:41 +0000 (16:09 +0000)
committerUlrich Drepper <drepper@redhat.com>
Sat, 13 Jan 2001 16:09:41 +0000 (16:09 +0000)
2001-01-13  Jakub Jelinek  <jakub@redhat.com>

* inet/ether_ntoh.c (lookup_function): Change arguments to match
_nss_*_getntohost_r prototype.
(ether_ntohost): Pass errno pointer to NSS function.

2001-01-12  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>

* sysdeps/unix/sysv/linux/powerpc/bits/mman.h (MS_SYNC): Fix value.
(MAP_LOCKED): New definition.
(MAP_NORESERVE): New definition.

ChangeLog
inet/ether_ntoh.c
linuxthreads/ChangeLog
linuxthreads/Examples/ex16.c [new file with mode: 0644]
linuxthreads/Makefile
linuxthreads/pthread.c
sysdeps/unix/sysv/linux/powerpc/bits/mman.h

index 687d045..9cf987c 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,15 @@
+2001-01-13  Jakub Jelinek  <jakub@redhat.com>
+
+       * inet/ether_ntoh.c (lookup_function): Change arguments to match
+       _nss_*_getntohost_r prototype.
+       (ether_ntohost): Pass errno pointer to NSS function.
+
+2001-01-12  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
+
+       * sysdeps/unix/sysv/linux/powerpc/bits/mman.h (MS_SYNC): Fix value.
+       (MAP_LOCKED): New definition.
+       (MAP_NORESERVE): New definition.
+
 2001-01-12  Ulrich Drepper  <drepper@redhat.com>
 
        * assert/assert.h: Use static_cast instead of C-style cast for C++.
index d26ec3b..43299b9 100644 (file)
@@ -17,6 +17,7 @@
    write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
    Boston, MA 02111-1307, USA.  */
 
+#include <errno.h>
 #include <netinet/ether.h>
 #include <netinet/if_ether.h>
 #include <string.h>
@@ -26,7 +27,7 @@
 
 /* Type of the lookup function we need here.  */
 typedef int (*lookup_function) (const struct ether_addr *, struct etherent *,
-                               char *, int);
+                               char *, size_t, int *);
 
 /* The lookup function for the first entry of this service.  */
 extern int __nss_ethers_lookup (service_user **nip, const char *name,
@@ -65,7 +66,7 @@ ether_ntohost (char *hostname, const struct ether_addr *addr)
     {
       char buffer[1024];
 
-      status = (*fct) (addr, &etherent, buffer, sizeof buffer);
+      status = (*fct) (addr, &etherent, buffer, sizeof buffer, &errno);
 
       no_more = __nss_next (&nip, "getntohost_r", (void **) &fct, status, 0);
     }
index a56b99c..8936eac 100644 (file)
@@ -1,3 +1,10 @@
+2001-01-13  Jakub Jelinek  <jakub@redhat.com>
+
+       * pthread.c (pthread_onexit_process): Clear
+       __pthread_manager_thread_bos after freeing it.
+       * Makefile (tests): Add ex16.
+       * Examples/ex16.c: New file.
+
 2001-01-11  Jakub Jelinek  <jakub@redhat.com>
 
        * Makefile (CFLAGS-pthread.c): Pass -DHAVE_Z_NODELETE if ld supports
diff --git a/linuxthreads/Examples/ex16.c b/linuxthreads/Examples/ex16.c
new file mode 100644 (file)
index 0000000..6509ae4
--- /dev/null
@@ -0,0 +1,26 @@
+/* Tst case by Jakub Jelinek <jakub@redhat.com>.  */
+#include <stdlib.h>
+#include <unistd.h>
+#include <pthread.h>
+
+static void *
+task (void *p)
+{
+  sleep (30);
+  return NULL;
+}
+
+int
+main (void)
+{
+  pthread_t t;
+  int status;
+
+  status = pthread_create (&t, NULL, task, NULL);
+  if (status)
+    exit (status);
+
+  status = pthread_detach (t);
+  pthread_kill_other_threads_np ();
+  return status;
+}
index da3c3d2..d3364ea 100644 (file)
@@ -46,7 +46,7 @@ include ../Makeconfig
 
 librt-tests = ex10 ex11
 tests = ex1 ex2 ex3 ex4 ex5 ex6 ex7 ex8 ex9 $(librt-tests) ex12 ex13 joinrace \
-       tststack $(tests-nodelete-$(have-z-nodelete)) ecmutex ex14 ex15
+       tststack $(tests-nodelete-$(have-z-nodelete)) ecmutex ex14 ex15 ex16
 
 ifeq (yes,$(build-shared))
 tests-nodelete-yes = unload
index df1d00b..b62393f 100644 (file)
@@ -753,6 +753,7 @@ static void pthread_onexit_process(int retcode, void *arg)
       {
        waitpid(__pthread_manager_thread.p_pid, NULL, __WCLONE);
        free (__pthread_manager_thread_bos);
+       __pthread_manager_thread_bos = __pthread_manager_thread_tos = NULL;
       }
   }
 }
index 0808b7d..bae1ad6 100644 (file)
 # define MAP_GROWSDOWN 0x0100          /* Stack-like segment.  */
 # define MAP_DENYWRITE 0x0800          /* ETXTBSY */
 # define MAP_EXECUTABLE        0x1000          /* Mark it as an executable.  */
+# define MAP_LOCKED    0x0080          /* Lock the mapping.  */
+# define MAP_NORESERVE 0x0040          /* Don't check for reservations.  */
 #endif
 
 /* Flags to `msync'.  */
 #define MS_ASYNC       1               /* Sync memory asynchronously.  */
-#define MS_SYNC                0               /* Synchronous memory sync.  */
+#define MS_SYNC                4               /* Synchronous memory sync.  */
 #define MS_INVALIDATE  2               /* Invalidate the caches.  */
 
 /* Flags for `mlockall'.  */