Original commit message from CVS:
* plugins/elements/gstfdsink.c: (gst_fd_sink_render):
* plugins/elements/gstfdsrc.c: (gst_fd_src_create):
Also retry our poll_wait when we get EAGAIN. Fixes #524041.
2008-03-24 Wim Taymans <wim.taymans@collabora.co.uk>
+ * plugins/elements/gstfdsink.c: (gst_fd_sink_render):
+ * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
+ Also retry our poll_wait when we get EAGAIN. Fixes #524041.
+
+2008-03-24 Wim Taymans <wim.taymans@collabora.co.uk>
+
* plugins/elements/gstmultiqueue.c: (single_queue_overrun_cb),
(single_queue_underrun_cb):
When trying to make room in the queue, bump the max allowed buffers
GST_DEBUG_OBJECT (fdsink, "going into select, have %d bytes to write",
size);
retval = gst_poll_wait (fdsink->fdset, GST_CLOCK_TIME_NONE);
- } while (retval == -1 && errno == EINTR);
+ } while (retval == -1 && (errno == EINTR || errno == EAGAIN));
if (retval == -1) {
if (errno == EBUSY)
#ifndef HAVE_WIN32
do {
retval = gst_poll_wait (src->fdset, GST_CLOCK_TIME_NONE);
- } while (retval == -1 && errno == EINTR);
+ } while (retval == -1 && (errno == EINTR || errno == EAGAIN)); /* retry if interrupted */
if (retval == -1) {
if (errno == EBUSY)