From: Enlightenment S. <no-...@en...> - 2010-10-13 00:37:19
|
Log: and.. be safe! for funcs so they dont go closing things when they already are. Author: raster Date: 2010-10-12 17:37:12 -0700 (Tue, 12 Oct 2010) New Revision: 53324 Modified: trunk/ecore/src/lib/ecore/ecore_pipe.c Modified: trunk/ecore/src/lib/ecore/ecore_pipe.c =================================================================== --- trunk/ecore/src/lib/ecore/ecore_pipe.c 2010-10-13 00:35:09 UTC (rev 53323) +++ trunk/ecore/src/lib/ecore/ecore_pipe.c 2010-10-13 00:37:12 UTC (rev 53324) @@ -352,10 +352,16 @@ ECORE_MAGIC_FAIL(p, ECORE_MAGIC_PIPE, "ecore_pipe_read_close"); return; } - ecore_main_fd_handler_del(p->fd_handler); - p->fd_handler = NULL; - pipe_close(p->fd_read); - p->fd_read = PIPE_FD_INVALID; + if (p->fd_handler) + { + ecore_main_fd_handler_del(p->fd_handler); + p->fd_handler = NULL; + } + if (p->fd_read != PIPE_FD_INVALID) + { + pipe_close(p->fd_read); + p->fd_read = PIPE_FD_INVALID; + } } /** @@ -372,8 +378,11 @@ ECORE_MAGIC_FAIL(p, ECORE_MAGIC_PIPE, "ecore_pipe_write_close"); return; } - pipe_close(p->fd_write); - p->fd_write = PIPE_FD_INVALID; + if (p->fd_write != PIPE_FD_INVALID) + { + pipe_close(p->fd_write); + p->fd_write = PIPE_FD_INVALID; + } } /** @@ -398,6 +407,8 @@ return EINA_FALSE; } + if (p->delete_me) return EINA_FALSE; + if (p->fd_write == PIPE_FD_INVALID) return EINA_FALSE; /* First write the len into the pipe */ |