diff options
author | Lennart Poettering <lennart@poettering.net> | 2007-10-30 00:17:21 +0000 |
---|---|---|
committer | Lennart Poettering <lennart@poettering.net> | 2007-10-30 00:17:21 +0000 |
commit | 2d265a91ccd84e896f2bca9764147630d0d7d003 (patch) | |
tree | 499f23a265e83e020959ec4c7ce5816868be2937 /src/modules/gconf | |
parent | f1be9312cb97dbbdb0a54568fee9acc8571190c5 (diff) |
deal properly with signals interrupting us when we wait for data from gconf helper
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1992 fefdeb5f-60dc-0310-8127-8f9354f1896f
Diffstat (limited to 'src/modules/gconf')
-rw-r--r-- | src/modules/gconf/module-gconf.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/src/modules/gconf/module-gconf.c b/src/modules/gconf/module-gconf.c index 1c8866de..c2ea7b27 100644 --- a/src/modules/gconf/module-gconf.c +++ b/src/modules/gconf/module-gconf.c @@ -225,8 +225,11 @@ static int handle_event(struct userdata *u) { int ret = 0; do { - if ((opcode = read_byte(u)) < 0) + if ((opcode = read_byte(u)) < 0){ + if (errno == EINTR || errno == EAGAIN) + break; goto fail; + } switch (opcode) { case '!': @@ -509,4 +512,3 @@ void pa__done(pa_module*m) { pa_xfree(u); } - |