From 83216c72ec4c9d0b55a39b59b20d0a2b504f1856 Mon Sep 17 00:00:00 2001 From: Corinna Vinschen Date: Sun, 28 Mar 2004 21:01:33 +0000 Subject: [PATCH] * shm.cc (shmat): Return (void *) -1 on error instead of NULL. --- winsup/cygwin/ChangeLog | 4 ++++ winsup/cygwin/shm.cc | 12 ++++++------ 2 files changed, 10 insertions(+), 6 deletions(-) diff --git a/winsup/cygwin/ChangeLog b/winsup/cygwin/ChangeLog index 5da98a5fd..42e3577bf 100644 --- a/winsup/cygwin/ChangeLog +++ b/winsup/cygwin/ChangeLog @@ -1,3 +1,7 @@ +2004-03-28 Corinna Vinschen + + * shm.cc (shmat): Return (void *) -1 on error instead of NULL. + 2004-03-27 Christopher Faylor * fhandler_nodevice.cc (fhandler_nodevice::open): Assume that errno has diff --git a/winsup/cygwin/shm.cc b/winsup/cygwin/shm.cc index 7e7245efa..7e4be9ebd 100644 --- a/winsup/cygwin/shm.cc +++ b/winsup/cygwin/shm.cc @@ -162,7 +162,7 @@ shmat (int shmid, const void *shmaddr, int shmflg) { /* Invalid shmid */ set_errno (EINVAL); - return NULL; + return (void *) -1; } vm_object_t attach_va = NULL; if (shmaddr) @@ -176,7 +176,7 @@ shmat (int shmid, const void *shmaddr, int shmflg) if (!attach_va || (vm_offset_t)attach_va % SHMLBA) { set_errno (EINVAL); - return NULL; + return (void *) -1; } } /* Try allocating memory before calling cygserver. */ @@ -184,7 +184,7 @@ shmat (int shmid, const void *shmaddr, int shmflg) if (!sph_entry) { set_errno (ENOMEM); - return NULL; + return (void *) -1; } DWORD access = (shmflg & SHM_RDONLY) ? FILE_MAP_READ : FILE_MAP_WRITE; vm_object_t ptr = MapViewOfFileEx(ssh_entry->hdl, access, 0, 0, @@ -193,7 +193,7 @@ shmat (int shmid, const void *shmaddr, int shmflg) { __seterrno (); delete sph_entry; - return NULL; + return (void *) -1; } /* Use returned ptr address as is, so it's stored using the exact value in cygserver. */ @@ -206,7 +206,7 @@ shmat (int shmid, const void *shmaddr, int shmflg) set_errno (request.error_code ()); if (request.error_code () == ENOSYS) raise (SIGSYS); - return NULL; + return (void *) -1; } sph_entry->ptr = ptr; sph_entry->hdl = ssh_entry->hdl; @@ -217,7 +217,7 @@ shmat (int shmid, const void *shmaddr, int shmflg) #else set_errno (ENOSYS); raise (SIGSYS); - return NULL; + return (void *) -1; #endif } -- 2.43.5