X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/b402376f49143b6c75515bd28b6610743c1a7dfc..580571dfe8586fd74fd66b948d03dbddfb6f58d3:/src/surf/host_interface.cpp diff --git a/src/surf/host_interface.cpp b/src/surf/host_interface.cpp index bc4e28650b..a4367e1e9f 100644 --- a/src/surf/host_interface.cpp +++ b/src/surf/host_interface.cpp @@ -31,10 +31,7 @@ void host_add_traces(){ namespace simgrid { namespace surf { -simgrid::xbt::Extension Host::EXTENSION_ID = - simgrid::Host::extension_create([](void *h) { - static_cast(h)->destroy(); - }); +simgrid::xbt::Extension Host::EXTENSION_ID; /********* * Model * @@ -89,6 +86,15 @@ simgrid::surf::signal Host::onCreation; simgrid::surf::signal Host::onDestruction; simgrid::surf::signal Host::onStateChange; +void Host::classInit() +{ + if (!EXTENSION_ID.valid()) { + EXTENSION_ID = simgrid::Host::extension_create([](void *h) { + static_cast(h)->destroy(); + }); + } +} + Host::Host(simgrid::surf::Model *model, const char *name, xbt_dict_t props, xbt_dynar_t storage, Cpu *cpu) : Resource(model, name)