--On Thursday, February 27, 2003 4:14 PM +0100 Sander Striker <[EMAIL PROTECTED]> wrote:

@@ -99,7 +99,10 @@
 #ifdef BEOS
     rv = delete_area(mm->area);
 #else
-    rv = munmap(mm->mm, mm->size);
+    if (mm->mm != NULL)
+      rv = munmap(mm->mm, mm->size);
+    else
+      rv = APR_SUCCESS;
 #endif
     mm->mm = (void *)-1;


Someone with some more mmap-fu, please review.

How about:

if (mm->mm == NULL && !mm->size)
 rv = APR_SUCCESS;
else
 rv = munmap(mm->mm, mm->size);

(My brain isn't awake enough to get the reverse conditional right.)

If a platform gives us address 0 for a non-zero size, well, that's not our fault if it complains on munmap. =) -- justin

Reply via email to