diff options
-rw-r--r-- | winsup/cygwin/ChangeLog | 10 | ||||
-rwxr-xr-x | winsup/cygwin/cygserver_shm.cc | 63 | ||||
-rw-r--r-- | winsup/cygwin/shm.cc | 79 |
3 files changed, 28 insertions, 124 deletions
diff --git a/winsup/cygwin/ChangeLog b/winsup/cygwin/ChangeLog index 8ca2bad653e..a9a79561519 100644 --- a/winsup/cygwin/ChangeLog +++ b/winsup/cygwin/ChangeLog @@ -1,3 +1,13 @@ +2002-09-22 Conrad Scott <conrad.scott@dsl.pipex.com> + + * cygserver_shm.cc (with_strerr): Remove macro. + (server_shmmgr::segment_t::~segment_t): Remove calls to with_strerr. + (server_shmmgr::segment_t::attach): Ditto. + (server_shmmgr::new_segment): Ditto. + * shm.cc (with_strerr): Remove macro. + (client_shmmgr::shmdt): Remove calls to with_strerr. + (client_shmmgr::attach): Ditto. + 2002-09-21 Christopher Faylor <cgf@redhat.com> * init.cc (dll_entry): Temporarily disable thread detach code. diff --git a/winsup/cygwin/cygserver_shm.cc b/winsup/cygwin/cygserver_shm.cc index 615da2c1ee9..2958667bd9e 100755 --- a/winsup/cygwin/cygserver_shm.cc +++ b/winsup/cygwin/cygserver_shm.cc @@ -28,48 +28,6 @@ details. */ #include "cygwin/cygserver_transport.h" /*---------------------------------------------------------------------------* - * with_strerr () - *---------------------------------------------------------------------------*/ - -#define with_strerr(MSG, ACTION) \ - do \ - { \ - const DWORD lasterr = GetLastError (); \ - char *MSG = NULL; \ - if (!FormatMessage ((FORMAT_MESSAGE_ALLOCATE_BUFFER \ - | FORMAT_MESSAGE_FROM_SYSTEM \ - | FORMAT_MESSAGE_IGNORE_INSERTS), \ - NULL, \ - lasterr, \ - MAKELANGID (LANG_NEUTRAL, SUBLANG_DEFAULT), \ - reinterpret_cast<char *>(&MSG), \ - 0, \ - NULL)) \ - { \ - MSG = static_cast<char *> \ - (LocalAlloc (LMEM_FIXED, 24)); /* Big enough. */ \ - if (!MSG) \ - { \ - system_printf (("failure in LocalAlloc(LMEM_FIXED, 16): " \ - "error = %lu"), \ - GetLastError ()); \ - } \ - else \ - { \ - snprintf (MSG, 24, "error = %lu", lasterr); \ - } \ - } \ - SetLastError (lasterr); \ - { ACTION; } \ - if (MSG && !LocalFree (MSG)) \ - { \ - system_printf ("failed to free memory at %p, error = %lu", \ - MSG, GetLastError ()); \ - } \ - SetLastError (lasterr); \ - } while (false) - -/*---------------------------------------------------------------------------* * class server_shmmgr * * A singleton class. @@ -239,10 +197,7 @@ server_shmmgr::segment_t::~segment_t () assert (!_attach_head); if (!CloseHandle (_hFileMap)) - with_strerr - (msg, - syscall_printf (("failed to close file map [handle = 0x%x]: %s"), - _hFileMap, msg)); + syscall_printf ("failed to close file map [handle = 0x%x]: %E", _hFileMap); } /*---------------------------------------------------------------------------* @@ -263,13 +218,9 @@ server_shmmgr::segment_t::attach (class process *const client, FALSE, // bInheritHandle DUPLICATE_SAME_ACCESS)) { - with_strerr - (msg, - syscall_printf (("failed to duplicate handle for client " - "[key = 0x%016llx, shmid = %d, handle = 0x%x]:" - "%s"), - _ds.shm_perm.key, _shmid, _hFileMap, - msg)); + syscall_printf (("failed to duplicate handle for client " + "[key = 0x%016llx, shmid = %d, handle = 0x%x]: %E"), + _ds.shm_perm.key, _shmid, _hFileMap); return -EACCES; // FIXME: Case analysis? } @@ -748,11 +699,7 @@ server_shmmgr::new_segment (const key_t key, if (!hFileMap) { - with_strerr - (msg, - syscall_printf (("failed to create file mapping [size = %lu]: %s"), - size, msg)); - + syscall_printf ("failed to create file mapping [size = %lu]: %E", size); return -ENOMEM; // FIXME } diff --git a/winsup/cygwin/shm.cc b/winsup/cygwin/shm.cc index 5b2b7188a13..94a86e2a8bc 100644 --- a/winsup/cygwin/shm.cc +++ b/winsup/cygwin/shm.cc @@ -28,48 +28,6 @@ details. */ #include "cygserver_shm.h" /*---------------------------------------------------------------------------* - * with_strerr () - *---------------------------------------------------------------------------*/ - -#define with_strerr(MSG, ACTION) \ - do \ - { \ - const DWORD lasterr = GetLastError (); \ - char *MSG = NULL; \ - if (!FormatMessage ((FORMAT_MESSAGE_ALLOCATE_BUFFER \ - | FORMAT_MESSAGE_FROM_SYSTEM \ - | FORMAT_MESSAGE_IGNORE_INSERTS), \ - NULL, \ - lasterr, \ - MAKELANGID (LANG_NEUTRAL, SUBLANG_DEFAULT), \ - reinterpret_cast<char *>(&MSG), \ - 0, \ - NULL)) \ - { \ - MSG = static_cast<char *> \ - (LocalAlloc (LMEM_FIXED, 24)); /* Big enough. */ \ - if (!MSG) \ - { \ - system_printf (("failure in LocalAlloc(LMEM_FIXED, 16): " \ - "error = %lu"), \ - GetLastError ()); \ - } \ - else \ - { \ - snprintf (MSG, 24, "error = %lu", lasterr); \ - } \ - } \ - SetLastError (lasterr); \ - { ACTION; } \ - if (MSG && !LocalFree (MSG)) \ - { \ - system_printf ("failed to free memory at %p, error = %lu", \ - MSG, GetLastError ()); \ - } \ - SetLastError (lasterr); \ - } while (false) - -/*---------------------------------------------------------------------------* * class client_shmmgr * * A singleton class. @@ -335,22 +293,17 @@ client_shmmgr::shmdt (const void *const shmaddr) assert (cnt >= 0); if (!UnmapViewOfFile ((void *) shmaddr)) - with_strerr (msg, - syscall_printf (("failed to unmap view " - "[shmid = %d, handle = %p, shmaddr = %p]:" - "%s"), - segptr->shmid, segptr->hFileMap, shmaddr, - msg)); + syscall_printf (("failed to unmap view " + "[shmid = %d, handle = %p, shmaddr = %p]:" + "%E"), + segptr->shmid, segptr->hFileMap, shmaddr); assert (segptr->hFileMap); if (!CloseHandle (segptr->hFileMap)) - with_strerr (msg, - syscall_printf (("failed to close file map handle " - "[shmid = %d, handle = %p]:" - "%s"), - segptr->shmid, segptr->hFileMap, - msg)); + syscall_printf (("failed to close file map handle " + "[shmid = %d, handle = %p]: %E"), + segptr->shmid, segptr->hFileMap); client_request_shm request (segptr->shmid); @@ -514,12 +467,9 @@ client_shmmgr::attach (const int shmid, if (!ptr) { - with_strerr (msg, - syscall_printf (("failed to map view " - "[shmid = %d, handle = %p, shmaddr = %p]:" - "%s"), - shmid, request.hFileMap (), shmaddr, - msg)); + syscall_printf (("failed to map view " + "[shmid = %d, handle = %p, shmaddr = %p]: %E"), + shmid, request.hFileMap (), shmaddr); result = EINVAL; // FIXME } else if (shmaddr && ptr != shmaddr) @@ -535,12 +485,9 @@ client_shmmgr::attach (const int shmid, if (result != 0) { if (!CloseHandle (request.hFileMap ())) - with_strerr (msg, - syscall_printf (("failed to close file map handle " - "[shmid = %d, handle = %p]:" - "%s"), - shmid, request.hFileMap (), - msg)); + syscall_printf (("failed to close file map handle " + "[shmid = %d, handle = %p]: %E"), + shmid, request.hFileMap ()); client_request_shm dt_req (shmid); |