summaryrefslogtreecommitdiff
path: root/src/ivyloop.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/ivyloop.h')
-rw-r--r--src/ivyloop.h20
1 files changed, 17 insertions, 3 deletions
diff --git a/src/ivyloop.h b/src/ivyloop.h
index c4af6eb..0696d40 100644
--- a/src/ivyloop.h
+++ b/src/ivyloop.h
@@ -36,9 +36,23 @@ extern "C" {
#define HANDLE int
#endif
-
-
-extern void IvyMainLoop(void(*hook)(void) );
+/*
+Boucle principale d'IVY baseé sur un select
+les fonctions hook et unhook encradre le select
+de la maniere suivante:
+
+ BeforeSelect est appeler avant l'appel system select
+ AfterSelect est appeler avent l'appel system select
+ ces function peuvent utilisées pour depose un verrou dans le cas
+ d'utilisation de la mainloop Ivy dans une thread separe
+
+ BeforeSelect ==> on libere l'acces avant la mise en attente sur le select
+ AfterSelect == > on verrouille l'acces en sortie du select
+
+ !!!! Attention donc l'appel des callbacks ivy se fait avec l'acces verrouille !
+*/
+
+extern void IvyMainLoop(void(*BeforeSelect)(void),void(*AfterSelect)(void) );
extern void IvyChannelInit(void);