Index: /branches/1.0/mmap.c
===================================================================
--- /branches/1.0/mmap.c	(revision 79)
+++ /branches/1.0/mmap.c	(revision 80)
@@ -200,9 +200,12 @@
 		shm->ptr_ro = mmap(NULL, size, PROT_READ, MAP_SHARED, fd, 0);
 #endif
+		if (shm->ptr_ro == XCACHE_MAP_FAILED) {
+			shm->ptr_ro = NULL;
+		}
 		romem = shm->ptr_ro;
 
 		/* {{{ check if ptr_ro works */
 		do {
-			if (shm->ptr_ro == XCACHE_MAP_FAILED || shm->ptr_ro == shm->ptr) {
+			if (shm->ptr_ro == NULL || shm->ptr_ro == shm->ptr) {
 				break;
 			}
@@ -224,5 +227,5 @@
 	}
 	else {
-		if (shm->ptr_ro != XCACHE_MAP_FAILED) {
+		if (shm->ptr_ro) {
 			munmap(shm->ptr_ro, size);
 		}
