X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/ea2e2f84bb9c4d52951666f7f7136213483523a2..38f7ddbf61f574a934f191ef2d8358d9f8be1f96:/examples/smpi/replay/replay.c diff --git a/examples/smpi/replay/replay.c b/examples/smpi/replay/replay.c index ea0d438e3e..078385a595 100644 --- a/examples/smpi/replay/replay.c +++ b/examples/smpi/replay/replay.c @@ -14,11 +14,24 @@ static void action_blah(const char* const* args) args is a strings array containing the blank-separated parameters found in the trace for this event instance. */ } +action_fun previous_send; +static void overriding_send(const char* const* args) +{ + (*previous_send)(args); // Just call the overriden symbol. That's a toy example. +} + int main(int argc, char *argv[]) { + /* Setup things and register default actions */ + smpi_replay_init(&argc, &argv); + /* Connect your callback function to the "blah" event in the trace files */ xbt_replay_action_register("blah", action_blah); + /* The send action is an override, so we have to first save its previous value in a global */ + previous_send = xbt_replay_action_get("send"); + xbt_replay_action_register("send", overriding_send); + /* The regular run of the replayer */ - smpi_replay_run(&argc, &argv); + smpi_replay_main(&argc, &argv); return 0; }