diff options
author | Miguel Freitas <miguelfreitas@users.sourceforge.net> | 2005-06-13 00:32:11 +0000 |
---|---|---|
committer | Miguel Freitas <miguelfreitas@users.sourceforge.net> | 2005-06-13 00:32:11 +0000 |
commit | 110a7c280bf9feffe7df9ca765287eb31395dd5a (patch) | |
tree | 7df2b734c13caf31e3168159902eb4dae7303149 /src/xine-engine/events.c | |
parent | 5eaa2ba0f9f67f65e4f80c1a25f41f561c98b5d9 (diff) | |
download | xine-lib-110a7c280bf9feffe7df9ca765287eb31395dd5a.tar.gz xine-lib-110a7c280bf9feffe7df9ca765287eb31395dd5a.tar.bz2 |
**BUGFIX**
fix deadlock with _x_flush_events_queues
CVS patchset: 7621
CVS date: 2005/06/13 00:32:11
Diffstat (limited to 'src/xine-engine/events.c')
-rw-r--r-- | src/xine-engine/events.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/src/xine-engine/events.c b/src/xine-engine/events.c index 61fd01e04..e7aa28772 100644 --- a/src/xine-engine/events.c +++ b/src/xine-engine/events.c @@ -17,7 +17,7 @@ * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA * - * $Id: events.c,v 1.26 2004/04/16 16:34:22 hadess Exp $ + * $Id: events.c,v 1.27 2005/06/13 00:32:12 miguelfreitas Exp $ * * Event handling functions * @@ -116,6 +116,7 @@ xine_event_queue_t *xine_event_new_queue (xine_stream_t *stream) { queue->events = xine_list_new (); queue->stream = stream; queue->listener_thread = NULL; + queue->callback_running = 0; pthread_mutex_lock (&stream->event_queues_lock); xine_list_append_content (stream->event_queues, queue); @@ -200,7 +201,9 @@ static void *listener_loop (void *queue_gen) { if (event->type == XINE_EVENT_QUIT) running = 0; + queue->callback_running = 1; queue->callback (queue->user_data, event); + queue->callback_running = 0; xine_event_free (event); |