diff --git a/libraw1394.changes b/libraw1394.changes index 4be8ff7..8469b7c 100644 --- a/libraw1394.changes +++ b/libraw1394.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +Wed Jun 25 11:49:35 CEST 2008 - olh@suse.de + +- eventloop.c: fix to retry read when failed with EINTR. + ------------------------------------------------------------------- Wed May 21 20:35:47 CEST 2008 - cthiel@suse.de diff --git a/libraw1394.eventloop-return.patch b/libraw1394.eventloop-return.patch new file mode 100644 index 0000000..93d6e9b --- /dev/null +++ b/libraw1394.eventloop-return.patch @@ -0,0 +1,33 @@ +r177 | ddennedy | 2008-03-27 21:25:23 +0100 (Thu, 27 Mar 2008) | 4 lines +Changed paths: + M /trunk/src/eventloop.c + +eventloop.c: apply patch from Jonas Bonn to retry read when failed with EINTR. +This can occur when libraw1394 caller receives a signal while in this read and +the caller is not using a signal handler set with signal(). + +--- + src/eventloop.c | 5 +++-- + 1 file changed, 3 insertions(+), 2 deletions(-) + +--- a/src/eventloop.c ++++ b/src/eventloop.c +@@ -21,6 +21,7 @@ + #include + #include + #include ++#include + + #include "raw1394.h" + #include "kernel-raw1394.h" +@@ -32,8 +33,8 @@ int raw1394_loop_iterate(struct raw1394_ + 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) { diff --git a/libraw1394.spec b/libraw1394.spec index e1deaef..f66c5b2 100644 --- a/libraw1394.spec +++ b/libraw1394.spec @@ -13,7 +13,7 @@ Name: libraw1394 Version: 1.3.0 -Release: 12 +Release: 16 License: LGPL v2.1 or later Summary: A Firewire Interface Url: http://www.linux1394.org/ @@ -21,6 +21,7 @@ Group: System/Kernel BuildRoot: %{_tmppath}/%{name}-%{version}-build Source0: http://www.linux1394.org/files/libraw1394/%{name}-%{version}.tar.bz2 Patch: libraw1394.no-isodump.patch +Patch1: libraw1394.eventloop-return.patch Patch10: libraw1394.mpg1394grab.patch Patch11: libraw1394.mpg1394grab-beautify.patch @@ -95,6 +96,7 @@ Authors: %prep %setup -q %patch -p1 +%patch1 -p1 %patch10 -p1 %patch11 -p1 @@ -136,6 +138,8 @@ rm -rf $RPM_BUILD_ROOT %{_libdir}/pkgconfig/libraw1394.pc %changelog +* Wed Jun 25 2008 olh@suse.de +- eventloop.c: fix to retry read when failed with EINTR. * Wed May 21 2008 cthiel@suse.de - fix baselibs.conf * Thu Apr 10 2008 ro@suse.de