From: raster Date: Wed, 13 Oct 2010 00:37:12 +0000 (+0000) Subject: and.. be safe! for funcs so they dont go closing things when they X-Git-Tag: 2.0_alpha~194^2~506 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=8883612f3422506d131a43b0701d065220ea0b9d;p=framework%2Fuifw%2Fecore.git and.. be safe! for funcs so they dont go closing things when they already are. git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/ecore@53324 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33 --- 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 */