Update.
authorUlrich Drepper <drepper@redhat.com>
Wed, 3 Sep 2003 09:26:15 +0000 (09:26 +0000)
committerUlrich Drepper <drepper@redhat.com>
Wed, 3 Sep 2003 09:26:15 +0000 (09:26 +0000)
2003-09-03  Ulrich Drepper  <drepper@redhat.com>

* grp/Makefile (CFLAGS-getgrent_r.c): Add -fexceptions.
(CFLAGS-getgrent.c): Likewise.
* pwd/Makefile (CFLAGS-getpwent_r.c): Add -fexceptions.
(CFLAGS-getpwent.c): Likewise.
* shadow/Makefile (CFLAGS-getspent_r.c): Add -fexceptions.
(CFLAGS-getspent.c): Likewise.

* inet/Makefile: Add -fexceptions to CFLAGS for the various
getXXent and getXXbyYY functions.

* locale/loadlocale.c: Use not-cancelable variants of open, close,
and read.

ChangeLog
grp/Makefile
inet/Makefile
locale/loadlocale.c
manual/filesys.texi
nptl/tst-stack2.c
pwd/Makefile
shadow/Makefile

index ca99dc1e982845bc4d0c6edc45ece9b02f7d8e37..8adfceb5eefab0bd0ee48bbddf4500a709738843 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,18 @@
+2003-09-03  Ulrich Drepper  <drepper@redhat.com>
+
+       * grp/Makefile (CFLAGS-getgrent_r.c): Add -fexceptions.
+       (CFLAGS-getgrent.c): Likewise.
+       * pwd/Makefile (CFLAGS-getpwent_r.c): Add -fexceptions.
+       (CFLAGS-getpwent.c): Likewise.
+       * shadow/Makefile (CFLAGS-getspent_r.c): Add -fexceptions.
+       (CFLAGS-getspent.c): Likewise.
+
+       * inet/Makefile: Add -fexceptions to CFLAGS for the various
+       getXXent and getXXbyYY functions.
+
+       * locale/loadlocale.c: Use not-cancelable variants of open, close,
+       and read.
+
 2003-09-02  Jakub Jelinek  <jakub@redhat.com>
 
        * sysdeps/unix/sysv/linux/alpha/Makefile (sysdep_routines): Remove
index 3b836b0b493ca72963a558b0aa3270a20da29bbd..0c16c51911bdac8b15be758cb3cc85d6d9d230d1 100644 (file)
@@ -1,4 +1,4 @@
-# Copyright (C) 1991, 92, 96, 97, 98, 99, 2000 Free Software Foundation, Inc.
+# Copyright (C) 1991,92,96,97,98,99,2000,2003 Free Software Foundation, Inc.
 # This file is part of the GNU C Library.
 
 # The GNU C Library is free software; you can redistribute it and/or
@@ -49,6 +49,8 @@ ifeq ($(have-thread-library),yes)
 
 CFLAGS-getgrgid_r.c = -DUSE_NSCD=1
 CFLAGS-getgrnam_r.c = -DUSE_NSCD=1
+CFLAGS-getgrent_r.c = -fexceptions
+CFLAGS-getgrent.c = -fexceptions
 
 endif
 
index 944bd97a32c81f9adcf7d244a00fac25c8615834..66648dd496259314332d7f8b2e9c379b4e52e5e4 100644 (file)
@@ -57,9 +57,28 @@ include ../Rules
 ifeq ($(have-thread-library),yes)
 
 CFLAGS-gethstbyad_r.c = -DUSE_NSCD=1 -fexceptions
+CFLAGS-gethstbyad.c = -fexceptions
 CFLAGS-gethstbynm_r.c = -DUSE_NSCD=1 -fexceptions
+CFLAGS-gethstbynm.c = -fexceptions
 CFLAGS-gethstbynm2_r.c = -DUSE_NSCD=1 -fexceptions
+CFLAGS-gethstbynm2.c = -fexceptions
+CFLAGS-gethstent_r.c = -fexceptions
+CFLAGS-gethstent.c = -fexceptions
 CFLAGS-rcmd.c = -fexceptions
+CFLAGS-getnetbynm_r.c = -fexceptions
+CFLAGS-getnetbynm.c = -fexceptions
+CFLAGS-getnetbyad_r.c = -fexceptions
+CFLAGS-getnetbyad.c = -fexceptions
+CFLAGS-getnetent_r.c = -fexceptions
+CFLAGS-getnetent.c = -fexceptions
+CFLAGS-getaliasent_r.c = -fexceptions
+CFLAGS-getaliasent.c = -fexceptions
+CFLAGS-getrpcent_r.c = -fexceptions
+CFLAGS-getrpcent.c = -fexceptions
+CFLAGS-getservent_r.c = -fexceptions
+CFLAGS-getservent.c = -fexceptions
+CFLAGS-getprtent_r.c = -fexceptions
+CFLAGS-getprtent.c = -fexceptions
 
 endif
 
index 32faad57e9bc7f3f8bc465aec3ba0b4494d7957d..b2d944794f14b145c7b46d291aa7c1844a0a9b6e 100644 (file)
@@ -1,5 +1,5 @@
 /* Functions to read locale data files.
-   Copyright (C) 1996-2001, 2002 Free Software Foundation, Inc.
+   Copyright (C) 1996-2001, 2002, 2003 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@cygnus.com>, 1996.
 
@@ -30,6 +30,7 @@
 #endif
 #include <sys/stat.h>
 
+#include <not-cancel.h>
 #include "localeinfo.h"
 
 
@@ -142,7 +143,7 @@ _nl_load_locale (struct loaded_l10nfile *file, int category)
   file->decided = 1;
   file->data = NULL;
 
-  fd = __open (file->filename, O_RDONLY);
+  fd = open_not_cancel_2 (file->filename, O_RDONLY);
   if (__builtin_expect (fd, 0) < 0)
     /* Cannot open the file.  */
     return;
@@ -150,7 +151,7 @@ _nl_load_locale (struct loaded_l10nfile *file, int category)
   if (__builtin_expect (__fxstat64 (_STAT_VER, fd, &st), 0) < 0)
     {
     puntfd:
-      __close (fd);
+      close_not_cancel_no_status (fd);
       return;
     }
   if (__builtin_expect (S_ISDIR (st.st_mode), 0))
@@ -160,7 +161,7 @@ _nl_load_locale (struct loaded_l10nfile *file, int category)
       char *newp;
       size_t filenamelen;
 
-      __close (fd);
+      close_not_cancel_no_status (fd);
 
       filenamelen = strlen (file->filename);
       newp = (char *) alloca (filenamelen
@@ -170,7 +171,7 @@ _nl_load_locale (struct loaded_l10nfile *file, int category)
                 _nl_category_names[category],
                 _nl_category_name_sizes[category] + 1);
 
-      fd = __open (newp, O_RDONLY);
+      fd = open_not_cancel_2 (newp, O_RDONLY);
       if (__builtin_expect (fd, 0) < 0)
        return;
 
@@ -206,7 +207,7 @@ _nl_load_locale (struct loaded_l10nfile *file, int category)
              char *p = (char *) filedata;
              while (to_read > 0)
                {
-                 nread = __read (fd, p, to_read);
+                 nread = read_not_cancel (fd, p, to_read);
                  if (__builtin_expect (nread, 1) <= 0)
                    {
                      free (filedata);
@@ -225,7 +226,7 @@ _nl_load_locale (struct loaded_l10nfile *file, int category)
 #endif /* _POSIX_MAPPED_FILES */
 
   /* We have mapped the data, so we no longer need the descriptor.  */
-  __close (fd);
+  close_not_cancel_no_status (fd);
 
   if (__builtin_expect (filedata == NULL, 0))
     /* We failed to map or read the data.  */
index be1ba79ddbb9376df852d8ab6f6e836126bf55a9..c858e2b1faf7e7c591ffa354bb5c0c2ac9c9f50f 100644 (file)
@@ -3181,7 +3181,8 @@ file name.  Usually the template string is something like
 template string, you @emph{must not} pass string constants to them.
 String constants are normally in read-only storage, so your program
 would crash when @code{mktemp} or @code{mkstemp} tried to modify the
-string.
+string.  These functions are declared in the header file @file{stdlib.h}.
+@pindex stdlib.h
 
 @comment stdlib.h
 @comment Unix
index 93487db8ae656efc3d25bf83592fb32238c2f4d4..9b2788ca59f20bb5e6a40ca2f2b0db75b4e689f0 100644 (file)
 #include <stdlib.h>
 #include <stdio.h>
 
-int seen;
+static int seen;
 
-void *tf (void *p)
+static void *
+tf (void *p)
 {
   ++seen;
   return NULL;
@@ -74,83 +75,5 @@ do_test (void)
 }
 
 
-#define TEST_FUNCTION do_test ()
-#include "../test-skeleton.c"
-/* Copyright (C) 2003 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-   Contributed by Jakub Jelinek <jakub@redhat.com>, 2003.
-
-   The GNU C Library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Lesser General Public
-   License as published by the Free Software Foundation; either
-   version 2.1 of the License, or (at your option) any later version.
-
-   The GNU C Library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
-
-/* Test whether it is possible to create a thread with PTHREAD_STACK_MIN
-   stack size.  */
-
-#include <pthread.h>
-#include <stdlib.h>
-#include <stdio.h>
-
-int seen;
-
-void *tf (void *p)
-{
-  ++seen;
-  return NULL;
-}
-
-int
-do_test (void)
-{
-  pthread_attr_t attr;
-  pthread_attr_init (&attr);
-
-  int result = 0;
-  int res = pthread_attr_setstacksize (&attr, PTHREAD_STACK_MIN);
-  if (res)
-    {
-      printf ("pthread_attr_setstacksize failed %d\n", res);
-      result = 1;
-    }
-
-  /* Create the thread.  */
-  pthread_t th;
-  res = pthread_create (&th, &attr, tf, NULL);
-  if (res)
-    {
-      printf ("pthread_create failed %d\n", res);
-      result = 1;
-    }
-  else
-    {
-      res = pthread_join (th, NULL);
-      if (res)
-       {
-         printf ("pthread_join failed %d\n", res);
-         result = 1;
-       }
-    }
-
-  if (seen != 1)
-    {
-      printf ("seen %d != 1\n", seen);
-      result = 1;
-    }
-
-  return result;
-}
-
-
 #define TEST_FUNCTION do_test ()
 #include "../test-skeleton.c"
index 3cb0292a67a8f25ddc6540ea52093c589481d6e9..f656022ae29370ad0fd9e7a8b9ee3e75c53f063c 100644 (file)
@@ -1,4 +1,4 @@
-# Copyright (C) 1991, 1996, 1997, 1998, 1999 Free Software Foundation, Inc.
+# Copyright (C) 1991,1996,1997,1998,1999,2003 Free Software Foundation, Inc.
 # This file is part of the GNU C Library.
 
 # The GNU C Library is free software; you can redistribute it and/or
@@ -34,6 +34,8 @@ ifeq ($(have-thread-library),yes)
 
 CFLAGS-getpwuid_r.c = -DUSE_NSCD=1
 CFLAGS-getpwnam_r.c = -DUSE_NSCD=1
+CFLAGS-getpwent_r.c = -fexceptions
+CFLAGS-getpwent.c = -fexceptions
 
 endif
 
index 4c55d1406475efa63290176f54219a45376eb6fd..bea9c7f691705da257b089057d4419a5c4d1c8ce 100644 (file)
@@ -1,4 +1,4 @@
-# Copyright (C) 1996 Free Software Foundation, Inc.
+# Copyright (C) 1996, 2003 Free Software Foundation, Inc.
 # This file is part of the GNU C Library.
 
 # The GNU C Library is free software; you can redistribute it and/or
@@ -26,5 +26,7 @@ routines      = getspent getspnam sgetspent fgetspent putspent \
                  getspent_r getspnam_r sgetspent_r fgetspent_r \
                  lckpwdf
 
+CFLAGS-getspent_r.c = -fexceptions
+CFLAGS-getspent.c = -fexceptions
 
 include ../Rules