ust: continue implementation of ustd
[ust.git] / libtracing / relay.c
index 16f5322e1b7b7f42c7268c3374782ce7e3ea6926..a8775ec77d2554e30bee693a1c6a102c49ec91fd 100644 (file)
@@ -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");
        }
This page took 0.021959 seconds and 4 git commands to generate.