X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/06be38ef613115769d3724faf9df315dd9a34957..040d8fa855d2b6ac9884f68108a09b935570be21:/teshsuite/s4u/pid/pid.cpp diff --git a/teshsuite/s4u/pid/pid.cpp b/teshsuite/s4u/pid/pid.cpp index 69b7ff8b73..6e18870e5d 100644 --- a/teshsuite/s4u/pid/pid.cpp +++ b/teshsuite/s4u/pid/pid.cpp @@ -1,53 +1,47 @@ -/* Copyright (c) 2009-2017. The SimGrid Team. All rights reserved. */ +/* Copyright (c) 2009-2022. The SimGrid Team. All rights reserved. */ /* This program is free software; you can redistribute it and/or modify it * under the terms of the license (GNU LGPL) which comes with this package. */ #include "simgrid/s4u.hpp" -XBT_LOG_NEW_DEFAULT_CATEGORY(s4u_test, "Messages specific for this msg example"); - -static int my_onexit(smx_process_exit_status_t /*status*/, int* pid) -{ - XBT_INFO("Process \"%d\" killed.", *pid); - return 0; -} +XBT_LOG_NEW_DEFAULT_CATEGORY(s4u_test, "Messages specific for this example"); static void sendpid() { - simgrid::s4u::MailboxPtr mailbox = simgrid::s4u::Mailbox::byName("mailbox"); - int pid = simgrid::s4u::this_actor::getPid(); - double comm_size = 100000; - simgrid::s4u::this_actor::onExit((int_f_pvoid_pvoid_t)my_onexit, &pid); + simgrid::s4u::Mailbox* mailbox = simgrid::s4u::Mailbox::by_name("mailbox"); + aid_t pid = simgrid::s4u::this_actor::get_pid(); + long comm_size = 100000; + simgrid::s4u::this_actor::on_exit([pid](bool /*failed*/) { XBT_INFO("Process \"%ld\" killed.", pid); }); - XBT_INFO("Sending pid of \"%d\".", pid); + XBT_INFO("Sending pid of \"%ld\".", pid); mailbox->put(&pid, comm_size); - XBT_INFO("Send of pid \"%d\" done.", pid); + XBT_INFO("Send of pid \"%ld\" done.", pid); simgrid::s4u::this_actor::suspend(); } static void killall() { - simgrid::s4u::MailboxPtr mailbox = simgrid::s4u::Mailbox::byName("mailbox"); + simgrid::s4u::Mailbox* mailbox = simgrid::s4u::Mailbox::by_name("mailbox"); for (int i = 0; i < 3; i++) { - int* pid = static_cast(mailbox->get()); - XBT_INFO("Killing process \"%d\".", *pid); - simgrid::s4u::Actor::byPid(*pid)->kill(); + const auto* pid = mailbox->get(); + XBT_INFO("Killing process \"%ld\".", *pid); + simgrid::s4u::Actor::by_pid(*pid)->kill(); } } int main(int argc, char* argv[]) { simgrid::s4u::Engine e(&argc, argv); - e.loadPlatform(argv[1]); + e.load_platform(argv[1]); - simgrid::s4u::Actor::killAll(); + simgrid::s4u::Actor::kill_all(); - simgrid::s4u::Actor::createActor("sendpid", simgrid::s4u::Host::by_name("Tremblay"), sendpid); - simgrid::s4u::Actor::createActor("sendpid", simgrid::s4u::Host::by_name("Tremblay"), sendpid); - simgrid::s4u::Actor::createActor("sendpid", simgrid::s4u::Host::by_name("Tremblay"), sendpid); - simgrid::s4u::Actor::createActor("killall", simgrid::s4u::Host::by_name("Tremblay"), killall); + simgrid::s4u::Actor::create("sendpid", e.host_by_name("Tremblay"), sendpid); + simgrid::s4u::Actor::create("sendpid", e.host_by_name("Tremblay"), sendpid); + simgrid::s4u::Actor::create("sendpid", e.host_by_name("Tremblay"), sendpid); + simgrid::s4u::Actor::create("killall", e.host_by_name("Tremblay"), killall); e.run();