- case MAT_SHM: \r
- if( ( shmptr = mmap(0, 1, PROT_READ, MAP_SHARED, shm_fd, 0) ) == (void *) (-1) ) //MJP BUG? \r
+ case MAT_SHM: \r
+ fstat( shm_fd, &buf); \r
+ if( ( shmptr = mmap(0, buf.st_size, PROT_READ, MAP_SHARED, shm_fd, 0) ) == MAP_FAILED ) \r