X-Git-Url: http://git.lttng.org/?p=ust.git;a=blobdiff_plain;f=libtracing%2Frelay.c;h=a8775ec77d2554e30bee693a1c6a102c49ec91fd;hp=16f5322e1b7b7f42c7268c3374782ce7e3ea6926;hb=3847c3bab100bfb6b01b5654c2429a5d0d162ff5;hpb=b0540e11c3e9a3596b4b3865b0960d693fa66a88 diff --git a/libtracing/relay.c b/libtracing/relay.c index 16f5322..a8775ec 100644 --- a/libtracing/relay.c +++ b/libtracing/relay.c @@ -97,17 +97,16 @@ static int relay_alloc_buf(struct rchan_buf *buf, size_t *size) void *ptr; int result; - int shmid; *size = PAGE_ALIGN(*size); - result = shmid = shmget(getpid(), *size, IPC_CREAT | IPC_EXCL | 0700); - if(shmid == -1) { + result = buf->shmid = shmget(getpid(), *size, IPC_CREAT | IPC_EXCL | 0700); + if(buf->shmid == -1) { PERROR("shmget"); return -1; } - ptr = shmat(shmid, NULL, 0); + ptr = shmat(buf->shmid, NULL, 0); if(ptr == (void *) -1) { perror("shmat"); goto destroy_shmem; @@ -116,7 +115,7 @@ static int relay_alloc_buf(struct rchan_buf *buf, size_t *size) /* Already mark the shared memory for destruction. This will occur only * when all users have detached. */ - result = shmctl(shmid, IPC_RMID, NULL); + result = shmctl(buf->shmid, IPC_RMID, NULL); if(result == -1) { perror("shmctl"); return -1; @@ -128,7 +127,7 @@ static int relay_alloc_buf(struct rchan_buf *buf, size_t *size) return 0; destroy_shmem: - result = shmctl(shmid, IPC_RMID, NULL); + result = shmctl(buf->shmid, IPC_RMID, NULL); if(result == -1) { perror("shmctl"); }