+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
-# 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
CFLAGS-getgrgid_r.c = -DUSE_NSCD=1
CFLAGS-getgrnam_r.c = -DUSE_NSCD=1
+CFLAGS-getgrent_r.c = -fexceptions
+CFLAGS-getgrent.c = -fexceptions
endif
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
/* 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.
#endif
#include <sys/stat.h>
+#include <not-cancel.h>
#include "localeinfo.h"
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;
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))
char *newp;
size_t filenamelen;
- __close (fd);
+ close_not_cancel_no_status (fd);
filenamelen = strlen (file->filename);
newp = (char *) alloca (filenamelen
_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;
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);
#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. */
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
#include <stdlib.h>
#include <stdio.h>
-int seen;
+static int seen;
-void *tf (void *p)
+static void *
+tf (void *p)
{
++seen;
return NULL;
}
-#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"
-# 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
CFLAGS-getpwuid_r.c = -DUSE_NSCD=1
CFLAGS-getpwnam_r.c = -DUSE_NSCD=1
+CFLAGS-getpwent_r.c = -fexceptions
+CFLAGS-getpwent.c = -fexceptions
endif
-# 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
getspent_r getspnam_r sgetspent_r fgetspent_r \
lckpwdf
+CFLAGS-getspent_r.c = -fexceptions
+CFLAGS-getspent.c = -fexceptions
include ../Rules