This is the mail archive of the libc-hacker@sources.redhat.com mailing list for the glibc project.

Note that libc-hacker is a closed list. You may look at the archives of this list, but subscription and posting are not open.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[PATCH] EPERM -> EACCES for s[eh]m_unlink as well


Hi!

2004-04-20  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/unix/sysv/linux/shm_open.c (shm_unlink): Change EPERM into
	EACCES.
nptl/
	* sem_unlink.c (sem_unlink): Change EPERM into EACCES.

--- libc/sysdeps/unix/sysv/linux/shm_open.c.jj	2003-08-26 23:07:48.000000000 +0200
+++ libc/sysdeps/unix/sysv/linux/shm_open.c	2004-04-20 19:30:09.260363887 +0200
@@ -1,4 +1,4 @@
-/* Copyright (C) 2000, 2001, 2002, 2003 Free Software Foundation, Inc.
+/* Copyright (C) 2000, 2001, 2002, 2003, 2004 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
@@ -227,7 +227,10 @@ shm_unlink (const char *name)
 	     name, namelen + 1);
 
   /* And remove the file.  */
-  return unlink (fname);
+  int ret = unlink (fname);
+  if (ret < 0 && errno == EPERM)
+    __set_errno (EACCES);
+  return ret;
 }
 
 
--- libc/nptl/sem_unlink.c.jj	2002-12-08 09:17:18.000000000 +0100
+++ libc/nptl/sem_unlink.c	2004-04-20 19:28:07.000000000 +0200
@@ -1,4 +1,4 @@
-/* Copyright (C) 2002 Free Software Foundation, Inc.
+/* Copyright (C) 2002, 2004 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@redhat.com>, 2002.
 
@@ -60,5 +60,8 @@ sem_unlink (name)
 	     name, namelen + 1);
 
   /* Now try removing it.  */
-  return unlink (fname);
+  int ret = unlink (fname);
+  if (ret < 0 && errno == EPERM)
+    __set_errno (EACCES);
+  return ret;
 }

	Jakub


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]