forked from enlightenment/efl
ecore_fd: add _ecore_main_fdh_poll_del() when fd handler is deleted.
Summary: When fd handler is deleted by ECORE_CALLBACK_CANCEL, _ecore_main_fdh_poll_del() is not called. So fd still exists in epoll's event pool. Reviewers: raster, seoz, woohyun, Hermet, cedric Reviewed By: cedric Subscribers: cedric Differential Revision: https://phab.enlightenment.org/D3131 Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
This commit is contained in:
parent
6a90df70bf
commit
ec53c8845e
|
@ -1546,6 +1546,7 @@ _ecore_main_fd_handlers_bads_rem(void)
|
|||
ERR("Fd function err returned 0, remove it");
|
||||
if (!fdh->delete_me)
|
||||
{
|
||||
_ecore_main_fdh_poll_del(fdh);
|
||||
fdh->delete_me = EINA_TRUE;
|
||||
fd_handlers_to_delete = eina_list_append(fd_handlers_to_delete, fdh);
|
||||
}
|
||||
|
@ -1558,6 +1559,7 @@ _ecore_main_fd_handlers_bads_rem(void)
|
|||
ERR("Problematic fd found at %d! setting it for delete", fdh->fd);
|
||||
if (!fdh->delete_me)
|
||||
{
|
||||
_ecore_main_fdh_poll_del(fdh);
|
||||
fdh->delete_me = EINA_TRUE;
|
||||
fd_handlers_to_delete = eina_list_append(fd_handlers_to_delete, fdh);
|
||||
}
|
||||
|
@ -1673,6 +1675,7 @@ _ecore_main_fd_handlers_call(void)
|
|||
{
|
||||
if (!fdh->delete_me)
|
||||
{
|
||||
_ecore_main_fdh_poll_del(fdh);
|
||||
fdh->delete_me = EINA_TRUE;
|
||||
fd_handlers_to_delete = eina_list_append(fd_handlers_to_delete, fdh);
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue