docs + @since for ecore_fork()
authorraster <raster@7cbeb6ba-43b4-40fd-8cce-4c39aea84d33>
Mon, 13 Aug 2012 02:53:48 +0000 (02:53 +0000)
committerraster <raster@7cbeb6ba-43b4-40fd-8cce-4c39aea84d33>
Mon, 13 Aug 2012 02:53:48 +0000 (02:53 +0000)
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/ecore@75182 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33

src/lib/ecore/Ecore.h

index 859479f..7f2d043 100644 (file)
@@ -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);
 
 /**