aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorddennedy <ddennedy@53a565d1-3bb7-0310-b661-cf11e63c67ab>2008-03-27 21:32:51 +0000
committerddennedy <ddennedy@53a565d1-3bb7-0310-b661-cf11e63c67ab>2008-03-27 21:32:51 +0000
commit342b660afa618b5b4d4e7194854fdd7895fcd1e4 (patch)
tree9928bedfcda1253996f394c309b07ea03151e5e1
parent4ce7f7d8f0e0189eff7f1b585724ef132c36c820 (diff)
downloadlibraw1394-342b660afa618b5b4d4e7194854fdd7895fcd1e4.tar.gz
src/eventloop.c: redo the undo (git-svn virgin at the controls)
git-svn-id: svn://svn.linux1394.org/libraw1394/trunk@179 53a565d1-3bb7-0310-b661-cf11e63c67ab
-rw-r--r--src/eventloop.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/eventloop.c b/src/eventloop.c
index 0ddd455..4a027b2 100644
--- a/src/eventloop.c
+++ b/src/eventloop.c
@@ -21,6 +21,7 @@
#include <config.h>
#include <unistd.h>
#include <byteswap.h>
+#include <errno.h>
#include "raw1394.h"
#include "kernel-raw1394.h"
@@ -32,8 +33,8 @@ int raw1394_loop_iterate(struct raw1394_handle *handle)
struct raw1394_request req;
int retval = 0, channel;
- if (read(handle->fd, &req, sizeof(req)) < 0) {
- return -1;
+ while (read(handle->fd, &req, sizeof(req)) < 0) {
+ if (errno != EINTR) return -1;
}
switch (req.type) {