summaryrefslogtreecommitdiff
path: root/libjack/shm.c
diff options
context:
space:
mode:
authorjoq <joq@0c269be4-1314-0410-8aa9-9f06e86f4224>2004-12-08 20:17:38 +0000
committerjoq <joq@0c269be4-1314-0410-8aa9-9f06e86f4224>2004-12-08 20:17:38 +0000
commit1d264159dcc06071ee5c6a071682b237b981ac41 (patch)
treebb51195eb618ce35e524ffce70612f411bddd048 /libjack/shm.c
parent715c2be22c923170e22297fa8579cedb757f5af3 (diff)
downloadjack1-1d264159dcc06071ee5c6a071682b237b981ac41.tar.gz
[0.99.26] don't destroy unallocated segment
git-svn-id: svn+ssh://jackaudio.org/trunk/jack@830 0c269be4-1314-0410-8aa9-9f06e86f4224
Diffstat (limited to 'libjack/shm.c')
-rw-r--r--libjack/shm.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/libjack/shm.c b/libjack/shm.c
index 756b3ab..fcd7afb 100644
--- a/libjack/shm.c
+++ b/libjack/shm.c
@@ -337,6 +337,9 @@ jack_initialize_shm (void)
void
jack_destroy_shm (jack_shm_info_t* si)
{
+ if (si->index == -1)
+ return; /* segment not allocated */
+
shm_unlink (jack_shm_registry[si->index].id);
jack_release_shm_info (si->index);
}
@@ -522,6 +525,9 @@ jack_initialize_shm (void)
void
jack_destroy_shm (jack_shm_info_t* si)
{
+ if (si->index == -1)
+ return; /* segment not allocated */
+
shmctl (jack_shm_registry[si->index].id, IPC_RMID, NULL);
jack_release_shm_info (si->index);
}