From 0a8f192d32ab5fdd4412a9162cc4e7e94e477e04 Mon Sep 17 00:00:00 2001 From: raster Date: Mon, 13 Aug 2012 02:53:48 +0000 Subject: [PATCH] docs + @since for ecore_fork() git-svn-id: http://svn.enlightenment.org/svn/e/trunk/ecore@75182 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33 --- src/lib/ecore/Ecore.h | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/src/lib/ecore/Ecore.h b/src/lib/ecore/Ecore.h index 859479f..7f2d043 100644 --- a/src/lib/ecore/Ecore.h +++ b/src/lib/ecore/Ecore.h @@ -380,6 +380,23 @@ extern "C" { EAPI int ecore_init(void); EAPI int ecore_shutdown(void); +/** + * Reset the ecore internal state after a fork + * + * Ecore maintains internal data that can be affected by the fork() system call + * which creates a duplicate of the current process. This also duplicates + * file descriptors which is problematic in that these file descriptors still + * point to their original sources. This function makes ecore reset internal + * state (e.g. pipes used for signalling between threads) so they function + * correctly afterwards. + * + * It is highly suggested that you call this function after any fork() + * system call inside the child process if you intend to use ecore features + * after this point and not call any exec() family functions. Not doing so + * will cause possible misbehaviour. + * + * @since 1.7 + */ EAPI void ecore_fork_reset(void); /** -- 2.7.4