about summary refs log tree commit diff
diff options
context:
space:
mode:
authorRoland McGrath <roland@gnu.org>1995-03-10 03:28:54 +0000
committerRoland McGrath <roland@gnu.org>1995-03-10 03:28:54 +0000
commitdf4999e1afde87987decf13b4fe4f9e8663fd920 (patch)
tree0d2d926d5c03cdec64c01754a1ad8ae44596ac50
parent29b687bd1831db7f5c4814c0da33a3df66678b22 (diff)
downloadglibc-df4999e1afde87987decf13b4fe4f9e8663fd920.tar.gz
glibc-df4999e1afde87987decf13b4fe4f9e8663fd920.tar.xz
glibc-df4999e1afde87987decf13b4fe4f9e8663fd920.zip
(_nl_load_locale) [! MAP_COPY]: Define MAP_COPY to MAP_PRIVATE.
-rw-r--r--locale/loadlocale.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/locale/loadlocale.c b/locale/loadlocale.c
index 24959a59e8..5c367ae4be 100644
--- a/locale/loadlocale.c
+++ b/locale/loadlocale.c
@@ -83,6 +83,10 @@ _nl_load_locale (int category, char **name)
   {
     /* Map in the file's data.  */
     int save = errno;
+#ifndef MAP_COPY
+    /* Linux seems to lack read-only copy-on-write.  */
+#define MAP_COPY MAP_PRIVATE
+#endif
     filedata = (void *) __mmap ((caddr_t) 0, st.st_size,
 				PROT_READ, MAP_FILE|MAP_COPY, fd, 0);
     if (filedata == (void *) -1)