Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Allow maestro to do simcalls in the Java world too
authorMartin Quinson <martin.quinson@loria.fr>
Tue, 21 Mar 2017 23:36:50 +0000 (00:36 +0100)
committerMartin Quinson <martin.quinson@loria.fr>
Wed, 22 Mar 2017 00:44:13 +0000 (01:44 +0100)
The detection of whether we are in maestro was broken in the
JavaContext, leading to an incredible mayhem in my code...

Gosh, that JNI code is the ultimate masochist experience.

src/simix/smx_global.cpp

index 35c9c0a..d4c4ad6 100644 (file)
@@ -693,5 +693,6 @@ void SIMIX_display_process_status()
 
 int SIMIX_is_maestro()
 {
-  return simix_global==nullptr /*SimDag*/|| SIMIX_process_self() == simix_global->maestro_process;
+  smx_actor_t self = SIMIX_process_self();
+  return simix_global == nullptr /*SimDag*/ || self == nullptr || self == simix_global->maestro_process;
 }