* 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
This commit is contained in:
Lennart Poettering 2004-11-18 20:50:44 +00:00
parent eef235d879
commit 8641af3c6d
11 changed files with 240 additions and 145 deletions

View file

@ -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: