[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Commit-gnuradio] r4346 - gnuradio/trunk/gnuradio-core/src/lib/runtime
From: |
gdt |
Subject: |
[Commit-gnuradio] r4346 - gnuradio/trunk/gnuradio-core/src/lib/runtime |
Date: |
Wed, 31 Jan 2007 11:10:53 -0700 (MST) |
Author: gdt
Date: 2007-01-31 11:10:53 -0700 (Wed, 31 Jan 2007)
New Revision: 4346
Modified:
gnuradio/trunk/gnuradio-core/src/lib/runtime/gr_vmcircbuf_sysv_shm.cc
Log:
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.
Modified: gnuradio/trunk/gnuradio-core/src/lib/runtime/gr_vmcircbuf_sysv_shm.cc
===================================================================
--- gnuradio/trunk/gnuradio-core/src/lib/runtime/gr_vmcircbuf_sysv_shm.cc
2007-01-31 01:59:14 UTC (rev 4345)
+++ gnuradio/trunk/gnuradio-core/src/lib/runtime/gr_vmcircbuf_sysv_shm.cc
2007-01-31 18:10:53 UTC (rev 4346)
@@ -68,11 +68,13 @@
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");
}
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Commit-gnuradio] r4346 - gnuradio/trunk/gnuradio-core/src/lib/runtime,
gdt <=