about summary refs log tree commit diff
path: root/locale
diff options
context:
space:
mode:
Diffstat (limited to 'locale')
-rw-r--r--locale/loadarchive.c13
1 files changed, 7 insertions, 6 deletions
diff --git a/locale/loadarchive.c b/locale/loadarchive.c
index 3fddc7d05b..80bab9e7c9 100644
--- a/locale/loadarchive.c
+++ b/locale/loadarchive.c
@@ -1,5 +1,5 @@
 /* Code to load locale data from the locale archive file.
-   Copyright (C) 2002 Free Software Foundation, Inc.
+   Copyright (C) 2002, 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
@@ -32,6 +32,7 @@
 
 #include "localeinfo.h"
 #include "locarchive.h"
+#include <not-cancel.h>
 
 /* Define the hash function.  We define the function as static inline.  */
 #define compute_hashval static inline compute_hashval
@@ -202,7 +203,7 @@ _nl_load_locale_from_archive (int category, const char **namep)
       archmapped = &headmap;
 
       /* The archive has never been opened.  */
-      fd = __open64 (archfname, O_RDONLY);
+      fd = open_not_cancel_2 (archfname, O_RDONLY|O_LARGEFILE);
       if (fd < 0)
 	/* Cannot open the archive, for whatever reason.  */
 	return NULL;
@@ -212,7 +213,7 @@ _nl_load_locale_from_archive (int category, const char **namep)
 	  /* stat failed, very strange.  */
 	close_and_out:
 	  if (fd >= 0)
-	    __close (fd);
+	    close_not_cancel_no_status (fd);
 	  return NULL;
 	}
 
@@ -252,7 +253,7 @@ _nl_load_locale_from_archive (int category, const char **namep)
 	{
 	  /* We've mapped the whole file already, so we can be
 	     sure we won't need this file descriptor later.  */
-	  __close (fd);
+	  close_not_cancel_no_status (fd);
 	  fd = -1;
 	}
 
@@ -393,7 +394,7 @@ _nl_load_locale_from_archive (int category, const char **namep)
 	  if (fd == -1)
 	    {
 	      struct stat64 st;
-	      fd = __open64 (archfname, O_RDONLY);
+	      fd = open_not_cancel_2 (archfname, O_RDONLY|O_LARGEFILE);
 	      if (fd == -1)
 		/* Cannot open the archive, for whatever reason.  */
 		return NULL;
@@ -446,7 +447,7 @@ _nl_load_locale_from_archive (int category, const char **namep)
 
   /* We don't need the file descriptor any longer.  */
   if (fd >= 0)
-    __close (fd);
+    close_not_cancel_no_status (fd);
   fd = -1;
 
   /* We succeeded in mapping all the necessary regions of the archive.