summaryrefslogtreecommitdiff
path: root/sysdeps
diff options
context:
space:
mode:
authorSamuel Thibault <samuel.thibault@ens-lyon.org>2015-03-25 02:36:31 +0100
committerSamuel Thibault <samuel.thibault@ens-lyon.org>2015-03-25 02:36:31 +0100
commitafd6ce081d51f1f92f4522f586b5bb385e055b67 (patch)
tree3ad95105298736b4f3ce63a31d45f3e64be08b77 /sysdeps
parentfc80c27620b9bf7c4c182cf33c84380b4a82fa4c (diff)
parent5d8ef852fce5c86756bfd05cbbc5b05351dd9ced (diff)
Merge branch 't/sysvshm' into refs/top-bases/tschwinge/Roger_Whittaker
Diffstat (limited to 'sysdeps')
-rw-r--r--sysdeps/mach/hurd/ftok.c14
-rw-r--r--sysdeps/mach/hurd/shmat.c11
-rw-r--r--sysdeps/mach/hurd/shmctl.c10
-rw-r--r--sysdeps/mach/hurd/shmdt.c3
-rw-r--r--sysdeps/mach/hurd/shmget.c10
5 files changed, 26 insertions, 22 deletions
diff --git a/sysdeps/mach/hurd/ftok.c b/sysdeps/mach/hurd/ftok.c
index 87dcf71073..a6aba15c86 100644
--- a/sysdeps/mach/hurd/ftok.c
+++ b/sysdeps/mach/hurd/ftok.c
@@ -1,6 +1,6 @@
-/* Copyright (C) 1995-2015 Free Software Foundation, Inc.
+/* SysV ftok for Hurd.
+ Copyright (C) 1995-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
- Contributed by Ulrich Drepper <drepper@gnu.ai.mit.edu>, August 1995.
The GNU C Library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
@@ -13,17 +13,17 @@
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. */
+ License along with the GNU C Library; if not, see
+ <http://www.gnu.org/licenses/>. */
#include <sys/ipc.h>
#include <sys/stat.h>
/* In the Hurd, we use the second-to-most-significant bit as flag for
- private keys. We use a different order of the components so that
- the biggest one---the inode number---is affected by this. */
+ private keys. We use an order of the components different from the generic
+ code in sysvipc/ftok.c so that the biggest one--the inode number--is
+ affected by this. */
key_t
ftok (pathname, proj_id)
diff --git a/sysdeps/mach/hurd/shmat.c b/sysdeps/mach/hurd/shmat.c
index 89db806e25..6bc88705b8 100644
--- a/sysdeps/mach/hurd/shmat.c
+++ b/sysdeps/mach/hurd/shmat.c
@@ -1,4 +1,5 @@
-/* Copyright (C) 2005-2015 Free Software Foundation, Inc.
+/* SysV shmat for Hurd.
+ Copyright (C) 2005-2015 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
@@ -12,9 +13,8 @@
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. */
+ License along with the GNU C Library; if not, see
+ <http://www.gnu.org/licenses/>. */
#include <errno.h>
#include <utime.h>
@@ -54,7 +54,9 @@ __shmat (int shmid, const void *shmaddr, int shmflg)
res = __fstat (fd, &statbuf);
if (res < 0)
{
+ err = errno;
__close (fd);
+ errno = err;
return (void *) -1;
}
@@ -69,6 +71,7 @@ __shmat (int shmid, const void *shmaddr, int shmflg)
if (err)
{
munmap (addr, statbuf.st_size);
+ errno = err;
return (void *) -1;
}
diff --git a/sysdeps/mach/hurd/shmctl.c b/sysdeps/mach/hurd/shmctl.c
index 192e567b7a..a991a0c8de 100644
--- a/sysdeps/mach/hurd/shmctl.c
+++ b/sysdeps/mach/hurd/shmctl.c
@@ -1,4 +1,5 @@
-/* Copyright (C) 2005-2015 Free Software Foundation, Inc.
+/* SysV shmctl for Hurd.
+ Copyright (C) 2005-2015 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
@@ -12,9 +13,8 @@
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. */
+ License along with the GNU C Library; if not, see
+ <http://www.gnu.org/licenses/>. */
#include <errno.h>
#include <stdio.h>
@@ -27,7 +27,7 @@
#include "sysvshm.h"
-/* Provide operations to control over shared memory segments. */
+/* Provide operations to control shared memory segments. */
int
__shmctl (int id, int cmd, struct shmid_ds *buf)
{
diff --git a/sysdeps/mach/hurd/shmdt.c b/sysdeps/mach/hurd/shmdt.c
index 245fd55a89..988fab8ee6 100644
--- a/sysdeps/mach/hurd/shmdt.c
+++ b/sysdeps/mach/hurd/shmdt.c
@@ -1,4 +1,5 @@
-/* Copyright (C) 2005-2015 Free Software Foundation, Inc.
+/* SysV shmdt for Hurd.
+ Copyright (C) 2005-2015 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
diff --git a/sysdeps/mach/hurd/shmget.c b/sysdeps/mach/hurd/shmget.c
index b536b3a701..2065b41989 100644
--- a/sysdeps/mach/hurd/shmget.c
+++ b/sysdeps/mach/hurd/shmget.c
@@ -1,4 +1,5 @@
-/* Copyright (C) 2005-2015 Free Software Foundation, Inc.
+/* SysV shmget for Hurd.
+ Copyright (C) 2005-2015 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
@@ -12,9 +13,8 @@
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. */
+ License along with the GNU C Library; if not, see
+ <http://www.gnu.org/licenses/>. */
#include <stdbool.h>
#include <stdlib.h>
@@ -95,7 +95,7 @@ get_exclusive (int shmflags, size_t size, key_t *r_key, int *r_fd)
key = SHM_PRIV_KEY_START;
/* Try to link the shared memory segment into the filesystem
- (exclusively). Private segments have negative keys. */
+ (exclusively). */
do
{
sprintf (filename, SHM_NAMEPRI, key);