Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Update copyright lines for 2022.
[simgrid.git] / src / mc / remote / CheckerSide.cpp
index ce1dfc8..353e050 100644 (file)
@@ -1,4 +1,4 @@
-/* Copyright (c) 2007-2021. The SimGrid Team. All rights reserved.          */
+/* Copyright (c) 2007-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. */
 namespace simgrid {
 namespace mc {
 
-CheckerSide::~CheckerSide()
-{
-  if (socket_event_ != nullptr)
-    event_free(socket_event_);
-  if (signal_event_ != nullptr)
-    event_free(signal_event_);
-  if (base_ != nullptr)
-    event_base_free(base_);
-}
-
 void CheckerSide::start(void (*handler)(int, short, void*), ModelChecker* mc)
 {
-  base_ = event_base_new();
+  auto* base = event_base_new();
+  base_.reset(base);
 
-  socket_event_ = event_new(base_, get_channel().get_socket(), EV_READ | EV_PERSIST, handler, mc);
-  event_add(socket_event_, nullptr);
+  auto* socket_event = event_new(base, get_channel().get_socket(), EV_READ | EV_PERSIST, handler, mc);
+  event_add(socket_event, nullptr);
+  socket_event_.reset(socket_event);
 
-  signal_event_ = event_new(base_, SIGCHLD, EV_SIGNAL | EV_PERSIST, handler, mc);
-  event_add(signal_event_, nullptr);
+  auto* signal_event = event_new(base, SIGCHLD, EV_SIGNAL | EV_PERSIST, handler, mc);
+  event_add(signal_event, nullptr);
+  signal_event_.reset(signal_event);
 }
 
-void CheckerSide::dispatch()
+void CheckerSide::dispatch() const
 {
-  event_base_dispatch(base_);
+  event_base_dispatch(base_.get());
 }
 
-void CheckerSide::break_loop()
+void CheckerSide::break_loop() const
 {
-  event_base_loopbreak(base_);
+  event_base_loopbreak(base_.get());
 }
 
 } // namespace mc