Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Update copyright lines for 2023.
[simgrid.git] / teshsuite / xbt / parallel_log_crashtest / parallel_log_crashtest.cpp
index b827a05..da10d2b 100644 (file)
@@ -1,19 +1,21 @@
 /* synchro_crashtest -- tries to crash the logging mechanism by doing parallel logs*/
 
-/* Copyright (c) 2007-2020. The SimGrid Team. All rights reserved.          */
+/* Copyright (c) 2007-2023. 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/msg.h"
+#include "simgrid/s4u/Engine.hpp"
+#include "xbt/log.h"
+#include <array>
 #include <thread>
 
 XBT_LOG_NEW_DEFAULT_CATEGORY(synchro_crashtest, "Logs of this example");
 
-const int test_amount    = 99; /* Up to 99 to not break the logs (and thus the testing mechanism) */
-const int crasher_amount = 99; /* Up to 99 to not break the logs (and thus the testing mechanism) */
+constexpr int test_amount    = 99; /* Up to 99 to not break the logs (and thus the testing mechanism) */
+constexpr int crasher_amount = 99; /* Up to 99 to not break the logs (and thus the testing mechanism) */
 
-int more_info = 0; /* SET IT TO TRUE TO GET MORE INFO */
+constexpr bool more_info = false; /* SET IT TO TRUE TO GET MORE INFO */
 
 /* Code ran by each thread */
 static void crasher_thread(int id)
@@ -29,18 +31,18 @@ static void crasher_thread(int id)
 
 int main(int argc, char* argv[])
 {
-  MSG_init(&argc, argv);
+  simgrid::s4u::Engine e(&argc, argv);
 
-  std::thread crashers[crasher_amount];
+  std::array<std::thread, crasher_amount> crashers;
 
   /* spawn threads */
-  for (int i = 0; i < crasher_amount; i++) {
-    crashers[i] = std::thread(crasher_thread, i);
-  }
+  int id = 0;
+  for (std::thread& thr : crashers)
+    thr = std::thread(crasher_thread, id++);
 
   /* wait for them */
-  for (int i = 0; i < crasher_amount; i++)
-    crashers[i].join();
+  for (std::thread& thr : crashers)
+    thr.join();
 
   return 0;
 }