improve error handling
[ust.git] / libust / relay.c
index 05399b4a75787acb512eb30e09d6a721f80526a8..3259adee432da29fb1b063605b1d7bab01be3255 100644 (file)
@@ -101,7 +101,11 @@ static int relay_alloc_buf(struct rchan_buf *buf, size_t *size)
        *size = PAGE_ALIGN(*size);
 
        result = buf->shmid = shmget(getpid(), *size, IPC_CREAT | IPC_EXCL | 0700);
-       if(buf->shmid == -1) {
+       if(result == -1 && errno == EINVAL) {
+               ERR("shmget() returned EINVAL; maybe /proc/sys/kernel/shmmax should be increased.");
+               return -1;
+       }
+       else if(result == -1) {
                PERROR("shmget");
                return -1;
        }
This page took 0.021581 seconds and 4 git commands to generate.