From 8641af3c6d11e3e6710cb946e9a93d0e9f639519 Mon Sep 17 00:00:00 2001 From: Lennart Poettering Date: Thu, 18 Nov 2004 20:50:44 +0000 Subject: * some iochannel fixes * introduce reference counting in ioline * fix memory leak in socket-client.c * fix double-free error in protocol-esound.c git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@293 fefdeb5f-60dc-0310-8127-8f9354f1896f --- polyp/protocol-simple.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'polyp/protocol-simple.c') diff --git a/polyp/protocol-simple.c b/polyp/protocol-simple.c index 058d4b82..3dddc474 100644 --- a/polyp/protocol-simple.c +++ b/polyp/protocol-simple.c @@ -180,9 +180,6 @@ static void do_work(struct connection *c) { assert(c->protocol && c->protocol->core && c->protocol->core->mainloop && c->protocol->core->mainloop->defer_enable); c->protocol->core->mainloop->defer_enable(c->defer_event, 0); - if (pa_iochannel_is_hungup(c->io)) - goto fail; - if (pa_iochannel_is_writable(c->io)) if (do_write(c) < 0) goto fail; @@ -191,6 +188,9 @@ static void do_work(struct connection *c) { if (do_read(c) < 0) goto fail; + if (pa_iochannel_is_hungup(c->io)) + c->protocol->core->mainloop->defer_enable(c->defer_event, 1); + return; fail: -- cgit