diff options
Diffstat (limited to '.topmsg')
-rw-r--r-- | .topmsg | 45 |
1 files changed, 6 insertions, 39 deletions
@@ -1,42 +1,9 @@ -From: Marcus Brinkmann <marcus@gnu.org> -Subject: [PATCH] Implement SysV shared memory for GNU/Hurd. +COMMITED -2005-07-11 Marcus Brinkmann <marcus@gnu.org> +From: Thomas Schwinge <thomas@schwinge.name> +Subject: [PATCH] tls-threadvar - * hurd/Makefile (routines): Add sysvshm. - * hurd/sysvshm.h: New file. - * hurd/sysvshm.c: New file. - * sysdeps/mach/hurd/ftok.c: New file. - * sysdeps/mach/hurd/shmat.c: New file. - * sysdeps/mach/hurd/shmctl.c: New file. - * sysdeps/mach/hurd/shmdt.c: New file. - * sysdeps/mach/hurd/shmget.c: New file. - * sysdeps/mach/hurd/bits/posix_opt.h: Define _XOPEN_SHM to 1. +replace the custom threadvar mechanism with generic TLS. +That will fix sigaltstack. -TODO: -“ -> + char filename[sizeof (SHM_DIR) - 1 + SHM_NAMEMAX]; -> + struct stat statbuf; -> + -> + sprintf (filename, SHM_DIR SHM_NAMEPRI, id); -> + /* SysV requires read access for IPC_STAT. */ -> + fd = __open (filename, O_NORW); -> + if (fd < 0) -> + { -> + if (errno == ENOENT) -> + errno = EINVAL; -> + return -1; -> + } - -Since this is repeated in more than one function, put it into an -internal subroutine. Then we have only one place doing the -name-generation logic. -” - -“ -> + case IPC_RMID: -> + res = __unlink (filename); -> + /* FIXME: Check error (mapping ENOENT to EINVAL). */ - -Fix it. -” +Note: the added reply_port and _hurd_sigstate fields should be kept last. |