ecore_pipe.c: fixed fd handler increasing issue.

Call _ecore_pipe_unhandle() when you return from _ecore_pipe_read() or the fd will never be closed.
This fixed increasing numbers of fd handler issue when you call ecore_pipe_add/del repeatedly.
In that case, reusing ecore_pipe is recommended though.
This commit is contained in:
Daniel Juyung Seo 2013-05-22 20:40:56 +09:00
parent ab079ae1a5
commit 3c618e54a1
3 changed files with 7 additions and 0 deletions

View File

@ -1,3 +1,7 @@
2013-05-22 Daniel Juyung Seo (SeoZ)
* Fix fd handler increase issue when ecore_pipe_add/del is called repeatedly.
2013-05-22 ChunEon Park (Hermet)
* Edje textblock: keep the text styles when new font by the text class is applied.

1
NEWS
View File

@ -272,3 +272,4 @@ Fixes:
* Ecore-imf: fix crash when ecore_imf_context_del is called in ecore_imf_context_input_panel_callback_call
* Edje textblock: Fixed issue with quoted formats.
* Edje textblock: Keep the text styles when new font by the text class is applied.
* Fix fd handler increase issue when ecore_pipe_add/del is called repeatedly.

View File

@ -656,6 +656,7 @@ _ecore_pipe_read(void *data,
else if ((ret == PIPE_FD_ERROR) &&
((errno == EINTR) || (errno == EAGAIN)))
{
_ecore_pipe_unhandle(p);
return ECORE_CALLBACK_RENEW;
}
else
@ -663,6 +664,7 @@ _ecore_pipe_read(void *data,
ERR("An unhandled error (ret: %i errno: %i [%s])"
"occurred while reading from the pipe the length",
(int)ret, errno, strerror(errno));
_ecore_pipe_unhandle(p);
return ECORE_CALLBACK_RENEW;
}
#else