diff options
author | Lennart Poettering <lennart@poettering.net> | 2008-10-02 01:02:31 +0200 |
---|---|---|
committer | Lennart Poettering <lennart@poettering.net> | 2008-10-02 01:02:31 +0200 |
commit | 54afcf25980662d3033328705ec481c62b223e56 (patch) | |
tree | e3fb80346ed322f7f634c04513ff9dae99c18d9e /src/utils/padsp.c | |
parent | 9f5d052d93a85bb8e4376732fe4473e87bf264f5 (diff) |
inform dsp_empty_socket() *after* we emptied the dsp socket, that it is now empty
Diffstat (limited to 'src/utils/padsp.c')
-rw-r--r-- | src/utils/padsp.c | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/src/utils/padsp.c b/src/utils/padsp.c index f2fdede49..2e6e55758 100644 --- a/src/utils/padsp.c +++ b/src/utils/padsp.c @@ -422,7 +422,7 @@ static void fd_info_unref(fd_info *i) { pthread_mutex_lock(&i->mutex); assert(i->ref >= 1); r = --i->ref; - debug(DEBUG_LEVEL_VERBOSE, __FILE__": ref--, now %i\n", i->ref); + debug(DEBUG_LEVEL_VERBOSE, __FILE__": ref--, now %i\n", i->ref); pthread_mutex_unlock(&i->mutex); if (r <= 0) @@ -498,7 +498,6 @@ static void atfork_prepare(void) { pthread_mutex_lock(&func_mutex); - debug(DEBUG_LEVEL_NORMAL, __FILE__": atfork_prepare() exit\n"); } @@ -550,12 +549,14 @@ static void atfork_child(void) { } if (i->app_fd >= 0) { - close(i->app_fd); + LOAD_CLOSE_FUNC(); + _close(i->app_fd); i->app_fd = -1; } if (i->thread_fd >= 0) { - close(i->thread_fd); + LOAD_CLOSE_FUNC(); + _close(i->thread_fd); i->thread_fd = -1; } @@ -943,6 +944,10 @@ static int fd_info_copy_data(fd_info *i, int force) { api->io_enable(i->io_event, i->io_flags); } + /* So, we emptied the socket now, let's tell dsp_empty_socket() + * about this */ + pa_threaded_mainloop_signal(i->mainloop, 0); + return 0; } |