X-Git-Url: https://git.gag.com/?a=blobdiff_plain;f=gnuradio-core%2Fsrc%2Flib%2Fruntime%2Fgr_vmcircbuf_sysv_shm.cc;h=ccb169b95b15281d9881b3f7e5b2361fcd668d1f;hb=b78ae1de4d9bbde942e5e7556630d7ccd8161c30;hp=fe0322f7348c70641acf288052b1b01055c78f9b;hpb=0cfd4875e519e2b1ee05d074f72ec67391ed13bf;p=debian%2Fgnuradio diff --git a/gnuradio-core/src/lib/runtime/gr_vmcircbuf_sysv_shm.cc b/gnuradio-core/src/lib/runtime/gr_vmcircbuf_sysv_shm.cc index fe0322f7..ccb169b9 100644 --- a/gnuradio-core/src/lib/runtime/gr_vmcircbuf_sysv_shm.cc +++ b/gnuradio-core/src/lib/runtime/gr_vmcircbuf_sysv_shm.cc @@ -68,11 +68,13 @@ gr_vmcircbuf_sysv_shm::gr_vmcircbuf_sysv_shm (int size) if ((shmid2 = shmget (IPC_PRIVATE, 2 * size + 2 * pagesize, IPC_CREAT | 0700)) == -1){ perror ("gr_vmcircbuf_sysv_shm: shmget (1)"); + shmctl (shmid_guard, IPC_RMID, 0); throw std::runtime_error ("gr_vmcircbuf_sysv_shm"); } if ((shmid1 = shmget (IPC_PRIVATE, size, IPC_CREAT | 0700)) == -1){ perror ("gr_vmcircbuf_sysv_shm: shmget (2)"); + shmctl (shmid_guard, IPC_RMID, 0); shmctl (shmid2, IPC_RMID, 0); throw std::runtime_error ("gr_vmcircbuf_sysv_shm"); }