plugins/elements/: Also retry our poll_wait when we get EAGAIN. Fixes #524041.

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.
This commit is contained in:
Wim Taymans 2008-03-24 16:31:30 +00:00
parent 60da0d3654
commit 4b608cc1f1
3 changed files with 8 additions and 2 deletions

View file

@ -1,3 +1,9 @@
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),

View file

@ -233,7 +233,7 @@ again:
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)

View file

@ -342,7 +342,7 @@ gst_fd_src_create (GstPushSrc * psrc, GstBuffer ** outbuf)
#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)