summaryrefslogtreecommitdiff
path: root/src/ivyloop.h
diff options
context:
space:
mode:
authorfcolin2006-04-19 08:28:14 +0000
committerfcolin2006-04-19 08:28:14 +0000
commit6bf117656574521545694a1a4e5169755077631e (patch)
treef18c164c217e2279781a3af9851b644da97dfba1 /src/ivyloop.h
parentca9eddefaec96a20b88b9aba25a9384037317c91 (diff)
downloadivy-c-6bf117656574521545694a1a4e5169755077631e.zip
ivy-c-6bf117656574521545694a1a4e5169755077631e.tar.gz
ivy-c-6bf117656574521545694a1a4e5169755077631e.tar.bz2
ivy-c-6bf117656574521545694a1a4e5169755077631e.tar.xz
correction de probleme potentiel en multithread ( Ada rejeu )
ajout d'un warning en cas de client bloquant si la varaiable d'env IVY_DEBUG_SEND est positionne
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);