From acace1d0eb9d7ade3614bbcfb735749e24ce684b Mon Sep 17 00:00:00 2001 From: Jeff Teunissen Date: Thu, 21 Sep 2000 06:27:08 +0000 Subject: [PATCH] mmap should set PROT_READ|PROT_WRITE, not just PROT_WRITE. Takes care of a problem with FreeBSD. Also, check for MAP_FAILED instead of (unsigned char *)-1 --- source/snd_oss.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/source/snd_oss.c b/source/snd_oss.c index 0d879cf..c1b556f 100644 --- a/source/snd_oss.c +++ b/source/snd_oss.c @@ -150,8 +150,8 @@ qboolean SNDDMA_Init(void) // memory map the dma buffer shm->buffer = (unsigned char *) mmap(NULL, info.fragstotal - * info.fragsize, PROT_WRITE, MAP_FILE|MAP_SHARED, audio_fd, 0); - if (shm->buffer == MAP_FAILED) { + * info.fragsize, PROT_READ|PROT_WRITE, MAP_FILE|MAP_SHARED, audio_fd, 0); + if (!shm->buffer || shm->buffer == MAP_FAILED) { perror("/dev/dsp"); Con_Printf("Could not mmap /dev/dsp\n"); close(audio_fd);