forked from enlightenment/efl
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:
parent
ab079ae1a5
commit
3c618e54a1
|
@ -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)
|
2013-05-22 ChunEon Park (Hermet)
|
||||||
|
|
||||||
* Edje textblock: keep the text styles when new font by the text class is applied.
|
* Edje textblock: keep the text styles when new font by the text class is applied.
|
||||||
|
|
1
NEWS
1
NEWS
|
@ -272,3 +272,4 @@ Fixes:
|
||||||
* Ecore-imf: fix crash when ecore_imf_context_del is called in ecore_imf_context_input_panel_callback_call
|
* 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: Fixed issue with quoted formats.
|
||||||
* Edje textblock: Keep the text styles when new font by the text class is applied.
|
* 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.
|
||||||
|
|
|
@ -656,6 +656,7 @@ _ecore_pipe_read(void *data,
|
||||||
else if ((ret == PIPE_FD_ERROR) &&
|
else if ((ret == PIPE_FD_ERROR) &&
|
||||||
((errno == EINTR) || (errno == EAGAIN)))
|
((errno == EINTR) || (errno == EAGAIN)))
|
||||||
{
|
{
|
||||||
|
_ecore_pipe_unhandle(p);
|
||||||
return ECORE_CALLBACK_RENEW;
|
return ECORE_CALLBACK_RENEW;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
@ -663,6 +664,7 @@ _ecore_pipe_read(void *data,
|
||||||
ERR("An unhandled error (ret: %i errno: %i [%s])"
|
ERR("An unhandled error (ret: %i errno: %i [%s])"
|
||||||
"occurred while reading from the pipe the length",
|
"occurred while reading from the pipe the length",
|
||||||
(int)ret, errno, strerror(errno));
|
(int)ret, errno, strerror(errno));
|
||||||
|
_ecore_pipe_unhandle(p);
|
||||||
return ECORE_CALLBACK_RENEW;
|
return ECORE_CALLBACK_RENEW;
|
||||||
}
|
}
|
||||||
#else
|
#else
|
||||||
|
|
Loading…
Reference in New Issue