From 7ac79098a623e33ffc9d7ca4bbce215ba5f10700 Mon Sep 17 00:00:00 2001 From: Lennart Poettering Date: Fri, 18 Aug 2006 23:42:14 +0000 Subject: remove export/import objects when SHM is disable for a pa_pstream object git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1275 fefdeb5f-60dc-0310-8127-8f9354f1896f --- src/pulsecore/pstream.c | 25 ++++++++++++++++++++----- 1 file changed, 20 insertions(+), 5 deletions(-) (limited to 'src/pulsecore/pstream.c') diff --git a/src/pulsecore/pstream.c b/src/pulsecore/pstream.c index ca8137a4..e2cfcb63 100644 --- a/src/pulsecore/pstream.c +++ b/src/pulsecore/pstream.c @@ -476,7 +476,6 @@ static void prepare_next_write_item(pa_pstream *p) { #ifdef HAVE_CREDS if ((p->send_creds_now = p->write.current->with_creds)) p->write_creds = p->write.current->creds; - #endif } @@ -860,9 +859,25 @@ void pa_pstream_use_shm(pa_pstream *p, int enable) { p->use_shm = enable; - if (!p->import) - p->import = pa_memimport_new(p->mempool, memimport_release_cb, p); + if (enable) { + + if (!p->import) + p->import = pa_memimport_new(p->mempool, memimport_release_cb, p); + + if (!p->export) + p->export = pa_memexport_new(p->mempool, memexport_revoke_cb, p); + + } else { - if (!p->export) - p->export = pa_memexport_new(p->mempool, memexport_revoke_cb, p); + if (p->import) { + pa_memimport_free(p->import); + p->import = NULL; + } + + if (p->export) { + pa_memexport_free(p->export); + p->export = NULL; + } + + } } -- cgit