From 2deea8c812f1beac947805bee69dd6993166fe0d Mon Sep 17 00:00:00 2001 From: raster Date: Wed, 13 Oct 2010 00:37:12 +0000 Subject: [PATCH] and.. be safe! for funcs so they dont go closing things when they already are. git-svn-id: http://svn.enlightenment.org/svn/e/trunk/ecore@53324 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33 --- src/lib/ecore/ecore_pipe.c | 23 +++++++++++++++++------ 1 file changed, 17 insertions(+), 6 deletions(-) diff --git a/src/lib/ecore/ecore_pipe.c b/src/lib/ecore/ecore_pipe.c index f164502..e41ef18 100644 --- a/src/lib/ecore/ecore_pipe.c +++ b/src/lib/ecore/ecore_pipe.c @@ -352,10 +352,16 @@ ecore_pipe_read_close(Ecore_Pipe *p) 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_pipe_write_close(Ecore_Pipe *p) 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 @@ ecore_pipe_write(Ecore_Pipe *p, const void *buffer, unsigned int nbytes) 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 */ -- 2.7.4