projects
/
platform
/
upstream
/
gstreamer.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
96aa279
)
pluginloader: handle fsync interrupted by signal (EINTR)
author
Peter Seiderer
<ps.report@gmx.net>
Thu, 12 Dec 2019 10:39:56 +0000
(11:39 +0100)
committer
Peter Seiderer
<ps.report@gmx.net>
Thu, 12 Dec 2019 19:49:36 +0000
(20:49 +0100)
According to [1] EINTR is a possible errno for fsync(),
so handle it as all other EINTR (do/while(errno == EINTR)).
Signed-off-by: Peter Seiderer <ps.report@gmx.net>
gst/gstpluginloader.c
patch
|
blob
|
history
diff --git
a/gst/gstpluginloader.c
b/gst/gstpluginloader.c
index a933a4bc4efca1e47e1fd000ebdfa30b4072be22..d1e404d98edd444a0d847fbba6a5d470ade7fda0 100644
(file)
--- a/
gst/gstpluginloader.c
+++ b/
gst/gstpluginloader.c
@@
-171,8
+171,11
@@
plugin_loader_free (GstPluginLoader * loader)
{
GList *cur;
gboolean got_plugin_details;
+ gint fsync_ret;
- fsync (loader->fd_w.fd);
+ do {
+ fsync_ret = fsync (loader->fd_w.fd);
+ } while (fsync_ret < 0 && errno == EINTR);
if (loader->child_running) {
put_packet (loader, PACKET_EXIT, 0, NULL, 0);