Changeset 4346

Show
Ignore:
Timestamp:
01/31/07 11:10:53
Author:
gdt
Message:

free schmid_guard on error paths where it has been allocated and not
freed. Fixes shm leak on NetBSD which hits the error case for unknown
reasons.

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • gnuradio/trunk/gnuradio-core/src/lib/runtime/gr_vmcircbuf_sysv_shm.cc

    r3534 r4346  
    6969  if ((shmid2 = shmget (IPC_PRIVATE, 2 * size + 2 * pagesize, IPC_CREAT | 0700)) == -1){ 
    7070    perror ("gr_vmcircbuf_sysv_shm: shmget (1)"); 
     71    shmctl (shmid_guard, IPC_RMID, 0); 
    7172    throw std::runtime_error ("gr_vmcircbuf_sysv_shm"); 
    7273  } 
     
    7475  if ((shmid1 = shmget (IPC_PRIVATE, size, IPC_CREAT | 0700)) == -1){ 
    7576    perror ("gr_vmcircbuf_sysv_shm: shmget (2)"); 
     77    shmctl (shmid_guard, IPC_RMID, 0); 
    7678    shmctl (shmid2, IPC_RMID, 0); 
    7779    throw std::runtime_error ("gr_vmcircbuf_sysv_shm");