From 5a00610e05eab122e23f56b589d5bb240e6ceda7 Mon Sep 17 00:00:00 2001 From: Martin Quinson Date: Sun, 7 Aug 2016 18:52:22 +0200 Subject: [PATCH] Rename kernel::activity::Synchro into kernel::activity::ActivityImpl --- include/simgrid/forward.h | 8 ++--- include/simgrid/s4u/Activity.hpp | 2 +- include/simgrid/s4u/comm.hpp | 8 ++--- src/kernel/activity/ActivityImpl.cpp | 30 +++++++++++++++++++ .../activity/{Synchro.h => ActivityImpl.hpp} | 24 ++++++--------- src/kernel/activity/Synchro.cpp | 30 ------------------- src/kernel/activity/SynchroComm.hpp | 4 +-- src/kernel/activity/SynchroExec.hpp | 4 +-- src/kernel/activity/SynchroIo.hpp | 4 +-- src/kernel/activity/SynchroRaw.hpp | 4 +-- src/kernel/activity/SynchroSleep.hpp | 4 +-- src/mc/mc_base.cpp | 2 +- src/msg/msg_gos.cpp | 2 +- src/simix/ActorImpl.cpp | 2 +- src/simix/smx_network.cpp | 6 ++-- src/smpi/smpi_base.cpp | 2 +- tools/cmake/DefinePackages.cmake | 4 +-- 17 files changed, 67 insertions(+), 73 deletions(-) create mode 100644 src/kernel/activity/ActivityImpl.cpp rename src/kernel/activity/{Synchro.h => ActivityImpl.hpp} (59%) delete mode 100644 src/kernel/activity/Synchro.cpp diff --git a/include/simgrid/forward.h b/include/simgrid/forward.h index 63f326971f..66b4b3eb6c 100644 --- a/include/simgrid/forward.h +++ b/include/simgrid/forward.h @@ -19,7 +19,7 @@ namespace simgrid { } namespace kernel { namespace activity { - class Synchro; + class ActivityImpl; } namespace routing { class NetCard; @@ -39,7 +39,7 @@ namespace simgrid { typedef simgrid::s4u::As simgrid_As; typedef simgrid::s4u::Host simgrid_Host; typedef boost::intrusive_ptr sg_mbox_t; -typedef simgrid::kernel::activity::Synchro simgrid_Synchro; +typedef simgrid::kernel::activity::ActivityImpl kernel_Activity; typedef simgrid::kernel::routing::NetCard routing_NetCard; typedef simgrid::surf::Cpu surf_Cpu; typedef simgrid::surf::Link Link; @@ -51,7 +51,7 @@ typedef simgrid::trace_mgr::trace tmgr_Trace; typedef struct simgrid_As simgrid_As; typedef struct simgrid_Host simgrid_Host; typedef struct simgrid_Mailbox *sg_mbox_t; -typedef struct simgrid_Synchro simgrid_Synchro; +typedef struct kernel_Activity kernel_Activity; typedef struct surf_Cpu surf_Cpu; typedef struct routing_NetCard routing_NetCard; typedef struct surf_Resource surf_Resource; @@ -62,7 +62,7 @@ typedef struct Trace tmgr_Trace; typedef simgrid_As *AS_t; typedef simgrid_Host* sg_host_t; -typedef simgrid_Synchro *smx_synchro_t; +typedef kernel_Activity *smx_synchro_t; typedef surf_Cpu *surf_cpu_t; typedef routing_NetCard *sg_netcard_t; diff --git a/include/simgrid/s4u/Activity.hpp b/include/simgrid/s4u/Activity.hpp index ac26e09a1c..1cdd79eab0 100644 --- a/include/simgrid/s4u/Activity.hpp +++ b/include/simgrid/s4u/Activity.hpp @@ -66,7 +66,7 @@ public: void *getUserData() { return userData_; } private: - simgrid::kernel::activity::Synchro *pimpl_ = nullptr; + simgrid::kernel::activity::ActivityImpl *pimpl_ = nullptr; e_s4u_activity_state_t state_ = inited; double remains_ = 0; void *userData_ = nullptr; diff --git a/include/simgrid/s4u/comm.hpp b/include/simgrid/s4u/comm.hpp index ecb1e096c2..9c853dc07d 100644 --- a/include/simgrid/s4u/comm.hpp +++ b/include/simgrid/s4u/comm.hpp @@ -34,13 +34,13 @@ public: I wait_any(I first, I last) { // Map to dynar: - xbt_dynar_t comms = xbt_dynar_new(sizeof(simgrid::kernel::activity::Synchro*), NULL); + xbt_dynar_t comms = xbt_dynar_new(sizeof(simgrid::kernel::activity::ActivityImpl*), NULL); for(I iter = first; iter != last; iter++) { Comm& comm = **iter; if (comm.state_ == inited) comm.start(); xbt_assert(comm.state_ == started); - xbt_dynar_push_as(comms, simgrid::kernel::activity::Synchro*, comm.pimpl_); + xbt_dynar_push_as(comms, simgrid::kernel::activity::ActivityImpl*, comm.pimpl_); } // Call the underlying simcall: int idx = simcall_comm_waitany(comms, -1); @@ -58,13 +58,13 @@ public: I wait_any_for(I first, I last, double timeout) { // Map to dynar: - xbt_dynar_t comms = xbt_dynar_new(sizeof(simgrid::kernel::activity::Synchro*), NULL); + xbt_dynar_t comms = xbt_dynar_new(sizeof(simgrid::kernel::activity::ActivityImpl*), NULL); for(I iter = first; iter != last; iter++) { Comm& comm = **iter; if (comm.state_ == inited) comm.start(); xbt_assert(comm.state_ == started); - xbt_dynar_push_as(comms, simgrid::kernel::activity::Synchro*, comm.pimpl_); + xbt_dynar_push_as(comms, simgrid::kernel::activity::ActivityImpl*, comm.pimpl_); } // Call the underlying simcall: int idx = simcall_comm_waitany(comms, timeout); diff --git a/src/kernel/activity/ActivityImpl.cpp b/src/kernel/activity/ActivityImpl.cpp new file mode 100644 index 0000000000..986e7c5475 --- /dev/null +++ b/src/kernel/activity/ActivityImpl.cpp @@ -0,0 +1,30 @@ +/* Copyright (c) 2007-2016. 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 "src/kernel/activity/ActivityImpl.hpp" + +simgrid::kernel::activity::ActivityImpl::ActivityImpl() +{ +} + +simgrid::kernel::activity::ActivityImpl::~ActivityImpl() +{ +} + +void simgrid::kernel::activity::ActivityImpl::ref() +{ + refcount++; +} + +void simgrid::kernel::activity::ActivityImpl::unref() +{ + xbt_assert(refcount > 0, + "This activity has a negative refcount! You can only call test() or wait() once per activity."); + + refcount--; + if (refcount>0) + return; + delete this; +} diff --git a/src/kernel/activity/Synchro.h b/src/kernel/activity/ActivityImpl.hpp similarity index 59% rename from src/kernel/activity/Synchro.h rename to src/kernel/activity/ActivityImpl.hpp index 2146efb793..94b85900e8 100644 --- a/src/kernel/activity/Synchro.h +++ b/src/kernel/activity/ActivityImpl.hpp @@ -3,8 +3,8 @@ /* 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. */ -#ifndef _SIMIX_SYNCHRO_HPP -#define _SIMIX_SYNCHRO_HPP +#ifndef SIMGRID_KERNEL_ACTIVITY_ACTIVITYIMPL_HPP +#define SIMGRID_KERNEL_ACTIVITY_ACTIVITYIMPL_HPP #include #include @@ -12,21 +12,19 @@ #include #include "simgrid/forward.h" -#ifdef __cplusplus - #include namespace simgrid { namespace kernel { namespace activity { - XBT_PUBLIC_CLASS Synchro { + XBT_PUBLIC_CLASS ActivityImpl { public: - Synchro(); - virtual ~Synchro(); - e_smx_state_t state = SIMIX_WAITING; /* State of the synchro */ - std::string name; /* synchro name if any */ - std::list simcalls; /* List of simcalls waiting for this synchro */ + ActivityImpl(); + virtual ~ActivityImpl(); + e_smx_state_t state = SIMIX_WAITING; /* State of the activity */ + std::string name; /* Activity name if any */ + std::list simcalls; /* List of simcalls waiting for this activity */ virtual void suspend()=0; virtual void resume()=0; @@ -38,9 +36,5 @@ namespace activity { int refcount = 1; }; }}} // namespace simgrid::kernel::activity -#else /* not C++ */ - - -#endif -#endif +#endif /* SIMGRID_KERNEL_ACTIVITY_ACTIVITYIMPL_HPP */ diff --git a/src/kernel/activity/Synchro.cpp b/src/kernel/activity/Synchro.cpp deleted file mode 100644 index cbe5cd3357..0000000000 --- a/src/kernel/activity/Synchro.cpp +++ /dev/null @@ -1,30 +0,0 @@ -/* Copyright (c) 2007-2016. 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 "src/kernel/activity/Synchro.h" - -simgrid::kernel::activity::Synchro::Synchro() -{ -} - -simgrid::kernel::activity::Synchro::~Synchro() -{ -} - -void simgrid::kernel::activity::Synchro::ref() -{ - refcount++; -} - -void simgrid::kernel::activity::Synchro::unref() -{ - xbt_assert(refcount > 0, - "This synchro has a negative refcount! You can only call test() or wait() once per synchronization."); - - refcount--; - if (refcount>0) - return; - delete this; -} diff --git a/src/kernel/activity/SynchroComm.hpp b/src/kernel/activity/SynchroComm.hpp index 608f0fa9fa..60b0b30461 100644 --- a/src/kernel/activity/SynchroComm.hpp +++ b/src/kernel/activity/SynchroComm.hpp @@ -7,7 +7,7 @@ #define _SIMIX_SYNCHRO_COMM_HPP #include "surf/surf.h" -#include "src/kernel/activity/Synchro.h" +#include "src/kernel/activity/ActivityImpl.hpp" typedef enum { SIMIX_COMM_SEND, @@ -20,7 +20,7 @@ namespace simgrid { namespace kernel { namespace activity { - XBT_PUBLIC_CLASS Comm : public Synchro { + XBT_PUBLIC_CLASS Comm : public ActivityImpl { ~Comm() override; public: explicit Comm(e_smx_comm_type_t type); diff --git a/src/kernel/activity/SynchroExec.hpp b/src/kernel/activity/SynchroExec.hpp index facfa539bc..d6694941a9 100644 --- a/src/kernel/activity/SynchroExec.hpp +++ b/src/kernel/activity/SynchroExec.hpp @@ -7,13 +7,13 @@ #define _SIMIX_SYNCHRO_EXEC_HPP #include "surf/surf.h" -#include "src/kernel/activity/Synchro.h" +#include "src/kernel/activity/ActivityImpl.hpp" namespace simgrid { namespace kernel { namespace activity { - XBT_PUBLIC_CLASS Exec : public Synchro { + XBT_PUBLIC_CLASS Exec : public ActivityImpl { ~Exec() override; public: Exec(const char*name, sg_host_t host); diff --git a/src/kernel/activity/SynchroIo.hpp b/src/kernel/activity/SynchroIo.hpp index a5202eeae0..59f307f22a 100644 --- a/src/kernel/activity/SynchroIo.hpp +++ b/src/kernel/activity/SynchroIo.hpp @@ -7,13 +7,13 @@ #define _SIMIX_SYNCHRO_IO_HPP #include "surf/surf.h" -#include "src/kernel/activity/Synchro.h" +#include "src/kernel/activity/ActivityImpl.hpp" namespace simgrid { namespace kernel { namespace activity { - XBT_PUBLIC_CLASS Io : public Synchro { + XBT_PUBLIC_CLASS Io : public ActivityImpl { public: void suspend() override; void resume() override; diff --git a/src/kernel/activity/SynchroRaw.hpp b/src/kernel/activity/SynchroRaw.hpp index cac619c01a..035d295b97 100644 --- a/src/kernel/activity/SynchroRaw.hpp +++ b/src/kernel/activity/SynchroRaw.hpp @@ -7,14 +7,14 @@ #define _SIMIX_SYNCHRO_RAW_HPP #include "surf/surf.h" -#include "src/kernel/activity/Synchro.h" +#include "src/kernel/activity/ActivityImpl.hpp" namespace simgrid { namespace kernel { namespace activity { /** Used to implement mutexes, semaphores and conditions */ - XBT_PUBLIC_CLASS Raw : public Synchro { + XBT_PUBLIC_CLASS Raw : public ActivityImpl { public: ~Raw() override; void suspend() override; diff --git a/src/kernel/activity/SynchroSleep.hpp b/src/kernel/activity/SynchroSleep.hpp index d2478332b7..0edef6337e 100644 --- a/src/kernel/activity/SynchroSleep.hpp +++ b/src/kernel/activity/SynchroSleep.hpp @@ -7,13 +7,13 @@ #define _SIMIX_SYNCHRO_SLEEP_HPP #include "surf/surf.h" -#include "src/kernel/activity/Synchro.h" +#include "src/kernel/activity/ActivityImpl.hpp" namespace simgrid { namespace kernel { namespace activity { - XBT_PUBLIC_CLASS Sleep : public Synchro { + XBT_PUBLIC_CLASS Sleep : public ActivityImpl { public: void suspend() override; void resume() override; diff --git a/src/mc/mc_base.cpp b/src/mc/mc_base.cpp index aa6f7afdbf..4c3667cec1 100644 --- a/src/mc/mc_base.cpp +++ b/src/mc/mc_base.cpp @@ -20,7 +20,7 @@ #include "mc/mc.h" #include "src/mc/mc_protocol.h" -#include "src/kernel/activity/Synchro.h" +#include "src/kernel/activity/ActivityImpl.hpp" #include "src/kernel/activity/SynchroIo.hpp" #include "src/kernel/activity/SynchroComm.hpp" #include "src/kernel/activity/SynchroRaw.hpp" diff --git a/src/msg/msg_gos.cpp b/src/msg/msg_gos.cpp index b4cffe92d9..86e1160bab 100644 --- a/src/msg/msg_gos.cpp +++ b/src/msg/msg_gos.cpp @@ -528,7 +528,7 @@ int MSG_comm_testany(xbt_dynar_t comms) int finished_index = -1; /* Create the equivalent array with SIMIX objects: */ - std::vector s_comms; + std::vector s_comms; s_comms.reserve(xbt_dynar_length(comms)); msg_comm_t comm; unsigned int cursor; diff --git a/src/simix/ActorImpl.cpp b/src/simix/ActorImpl.cpp index 0295c43e00..ce44678ee0 100644 --- a/src/simix/ActorImpl.cpp +++ b/src/simix/ActorImpl.cpp @@ -780,7 +780,7 @@ static int SIMIX_process_join_finish(smx_process_exit_status_t status, smx_synch smx_synchro_t SIMIX_process_join(smx_process_t issuer, smx_process_t process, double timeout) { smx_synchro_t res = SIMIX_process_sleep(issuer, timeout); - static_cast(res)->ref(); + static_cast(res)->ref(); SIMIX_process_on_exit(process, (int_f_pvoid_pvoid_t)SIMIX_process_join_finish, res); return res; } diff --git a/src/simix/smx_network.cpp b/src/simix/smx_network.cpp index ffc2f72786..351fe9d0ac 100644 --- a/src/simix/smx_network.cpp +++ b/src/simix/smx_network.cpp @@ -445,7 +445,7 @@ void simcall_HANDLER_comm_test(smx_simcall_t simcall, smx_synchro_t synchro) } void simcall_HANDLER_comm_testany( - smx_simcall_t simcall, simgrid::kernel::activity::Synchro* comms[], size_t count) + smx_simcall_t simcall, simgrid::kernel::activity::ActivityImpl* comms[], size_t count) { // The default result is -1 -- this means, "nothing is ready". // It can be changed below, but only if something matches. @@ -456,7 +456,7 @@ void simcall_HANDLER_comm_testany( if(idx == -1){ SIMIX_simcall_answer(simcall); }else{ - simgrid::kernel::activity::Synchro* synchro = comms[idx]; + simgrid::kernel::activity::ActivityImpl* synchro = comms[idx]; simcall_comm_testany__set__result(simcall, idx); synchro->simcalls.push_back(simcall); synchro->state = SIMIX_DONE; @@ -466,7 +466,7 @@ void simcall_HANDLER_comm_testany( } for (std::size_t i = 0; i != count; ++i) { - simgrid::kernel::activity::Synchro* synchro = comms[i]; + simgrid::kernel::activity::ActivityImpl* synchro = comms[i]; if (synchro->state != SIMIX_WAITING && synchro->state != SIMIX_RUNNING) { simcall_comm_testany__set__result(simcall, i); synchro->simcalls.push_back(simcall); diff --git a/src/smpi/smpi_base.cpp b/src/smpi/smpi_base.cpp index b2f576509e..6019e6e46d 100644 --- a/src/smpi/smpi_base.cpp +++ b/src/smpi/smpi_base.cpp @@ -773,7 +773,7 @@ int smpi_mpi_test(MPI_Request * request, MPI_Status * status) { int smpi_mpi_testany(int count, MPI_Request requests[], int *index, MPI_Status * status) { - std::vector comms; + std::vector comms; comms.reserve(count); int i; diff --git a/tools/cmake/DefinePackages.cmake b/tools/cmake/DefinePackages.cmake index c80f95e83e..61af940003 100644 --- a/tools/cmake/DefinePackages.cmake +++ b/tools/cmake/DefinePackages.cmake @@ -31,7 +31,7 @@ set(EXTRA_DIST src/simix/smx_private.h src/simix/ActorImpl.hpp src/simix/smx_synchro_private.h - src/kernel/activity/Synchro.h + src/kernel/activity/ActivityImpl.hpp src/kernel/activity/SynchroComm.hpp src/kernel/activity/SynchroExec.hpp src/kernel/activity/SynchroIo.hpp @@ -353,7 +353,7 @@ set(SIMIX_SRC src/simix/smx_synchro.cpp src/simix/smx_vm.cpp src/simix/popping.cpp - src/kernel/activity/Synchro.cpp + src/kernel/activity/ActivityImpl.cpp src/kernel/activity/SynchroComm.cpp src/kernel/activity/SynchroExec.cpp src/kernel/activity/SynchroSleep.cpp -- 2.20.1