X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/418ac8d537f356100767b8a21f65e16f7ba1d986..546888e0918a3cda4cd2ffb5786f67dda3883a81:/src/simix/Synchro.h diff --git a/src/simix/Synchro.h b/src/simix/Synchro.h index b55a2b9a4f..05b28a1009 100644 --- a/src/simix/Synchro.h +++ b/src/simix/Synchro.h @@ -19,9 +19,18 @@ namespace simix { Synchro(); virtual ~Synchro(); e_smx_state_t state; /* State of the synchro */ - char *name; /* synchro name if any */ + char *name = nullptr; /* synchro name if any */ xbt_fifo_t simcalls; /* List of simcalls waiting for this synchro */ char *category = nullptr; /* For instrumentation */ + + virtual void suspend()=0; + virtual void resume()=0; + virtual void post() =0; // What to do when a simcall terminates + + void ref(); + void unref(); + private: + int refcount=1; }; }} // namespace simgrid::simix #else /* not C++ */