changeset 559:841445b0b457

Fixes for the shared memory and named semaphore code.
author bsmith@81767d24-ef19-dc11-ae90-00e081727c95
date Sat, 17 Apr 2004 06:14:00 +0000
parents 05060ce4d6ae
children 7ca86c417a58
files os2/dw.c
diffstat 1 files changed, 12 insertions(+), 10 deletions(-) [+]
line wrap: on
line diff
--- a/os2/dw.c	Sat Apr 17 06:04:40 2004 +0000
+++ b/os2/dw.c	Sat Apr 17 06:14:00 2004 +0000
@@ -7941,7 +7941,6 @@
  */
 HEV API dw_named_event_new(char *name)
 {
-	int rc;
 	char *semname = malloc(strlen(name)+8);
 	HEV ev = 0;
 
@@ -8055,7 +8054,7 @@
 		break;
 
 	case ERROR_SEM_BUSY:
-		rc = DW_ERROR_BUSY;
+		rc = DW_ERROR_INTERRUPT;
 		break;
 	}
 
@@ -8070,16 +8069,16 @@
  *         size: Size in bytes of the shared memory region to allocate.
  *         name: A string pointer to a unique memory name.
  */
-int API dw_named_memory_alloc(HSHM *handle, void **dest, int size, char *name)
+HSHM API dw_named_memory_new(void **dest, int size, char *name)
 {
 	char namebuf[1024];
 
 	sprintf(namebuf, "\\sharemem\\%s", name);
 
 	if(DosAllocSharedMem((void *)dest, namebuf, size, PAG_COMMIT | PAG_WRITE | PAG_READ) != NO_ERROR)
-		return -1;
-
-	return 0;
+		return 0;
+
+	return 1;
 }
 
 /*
@@ -8089,16 +8088,17 @@
  *         size: Size in bytes of the shared memory region to requested.
  *         name: A string pointer to a unique memory name.
  */
-int API dw_named_memory_get(HSHM *handle, void **dest, int size, char *name)
+HSHM API dw_named_memory_get(void **dest, int size, char *name)
 {
 	char namebuf[1024];
 
+	size = size;
 	sprintf(namebuf, "\\sharemem\\%s", name);
 
 	if(DosGetNamedSharedMem((void *)dest, namebuf, PAG_READ | PAG_WRITE) != NO_ERROR)
-		return -1;
-
-	return 0;
+		return 0;
+
+	return 1;
 }
 
 /*
@@ -8109,6 +8109,8 @@
  */
 int API dw_named_memory_free(HSHM handle, void *ptr)
 {
+	handle = handle;
+
 	if(DosFreeMem(ptr) != NO_ERROR)
 		return -1;
 	return 0;