summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCarsten Haitzler (Rasterman) <raster@rasterman.com>2015-05-05 19:28:14 +0900
committerCarsten Haitzler (Rasterman) <raster@rasterman.com>2015-05-08 14:13:17 +0900
commit38faeacee1a1aa10eabebb52edfaf91e2a2c158b (patch)
tree8a727582279a6baf4ff84b3210a4063d8a0b2525
parent7485c41cf45903c2653058180a500e69948440aa (diff)
downloadefl-38faeacee1a1aa10eabebb52edfaf91e2a2c158b.tar.gz
ecore - ecore_pipe_wait timeout broken as it never adjusts while waiting
if select gets interrupted it just waits again from the start because it uses loop time not "now" time. this is wrong and makes timeout waits possibly hang if enough things interrupt select without reading data. this fixes that. @fix
-rw-r--r--src/lib/ecore/ecore_pipe.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/lib/ecore/ecore_pipe.c b/src/lib/ecore/ecore_pipe.c
index 23b80d15bd..823f07dc23 100644
--- a/src/lib/ecore/ecore_pipe.c
+++ b/src/lib/ecore/ecore_pipe.c
@@ -438,7 +438,7 @@ _ecore_pipe_wait(Ecore_Pipe *p,
FD_SET(p->fd_read, &rset);
if (wait >= 0.0)
- end = ecore_loop_time_get() + wait;
+ end = ecore_time_get() + wait;
timeout = wait;
while (message_count > 0 && (timeout > 0.0 || wait <= 0.0))
@@ -493,7 +493,7 @@ _ecore_pipe_wait(Ecore_Pipe *p,
}
if (wait >= 0.0)
- timeout = end - ecore_loop_time_get();
+ timeout = end - ecore_time_get();
}
return total;