Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
this is a good catch by CI
[simgrid.git] / src / simix / smx_context.cpp
index 712ab9c..67cb04a 100644 (file)
 #include <xbt/range.hpp>
 #include <xbt/sysdep.h>
 
+#include "simgrid/modelchecker.h"
+#include "simgrid/sg_config.h"
+#include "smx_private.hpp"
 #include "src/internal_config.h"
 #include "xbt/log.h"
 #include "xbt/swag.h"
 #include "xbt/xbt_os_thread.h"
-#include "smx_private.h"
-#include "simgrid/sg_config.h"
-#include "src/internal_config.h"
-#include "simgrid/modelchecker.h"
-
 
 #ifdef _WIN32
 #include <windows.h>
 #include <sys/mman.h>
 #endif
 
-#ifdef __MINGW32__ 
-#define _aligned_malloc __mingw_aligned_malloc 
-#define _aligned_free  __mingw_aligned_free 
-#endif //MINGW
+#ifdef __MINGW32__
+#define _aligned_malloc __mingw_aligned_malloc
+#define _aligned_free  __mingw_aligned_free
+#endif /*MINGW*/
 
 #if HAVE_VALGRIND_H
 # include <valgrind/valgrind.h>
@@ -79,9 +77,9 @@ static simgrid::config::Flag<std::string> context_factory_name(
   (std::string("Possible values: ")+contexts_list()).c_str(),
   context_factories[0].first);
 
-int smx_context_stack_size;
+unsigned smx_context_stack_size;
 int smx_context_stack_size_was_set = 0;
-int smx_context_guard_size;
+unsigned smx_context_guard_size;
 int smx_context_guard_size_was_set = 0;
 #if HAVE_THREAD_LOCAL_STORAGE
 static XBT_THREAD_LOCAL smx_context_t smx_current_context_parallel;
@@ -100,21 +98,20 @@ void SIMIX_context_mod_init()
 {
   xbt_assert(simix_global->context_factory == nullptr);
 
-#if HAVE_THREAD_CONTEXTS && !HAVE_THREAD_LOCAL_STORAGE
+#if HAVE_THREAD_CONTEXTS && not HAVE_THREAD_LOCAL_STORAGE
   /* the __thread storage class is not available on this platform:
    * use getspecific/setspecific instead to store the current context in each thread */
   xbt_os_thread_key_create(&smx_current_context_key);
 #endif
 
 #if defined(__APPLE__) || defined(__NetBSD__)
-  if (context_factory_name == std::string("thread") &&
-      strcmp(xbt_cfg_get_string("smpi/privatization"), "dlopen") == 0) {
+  if (context_factory_name == std::string("thread") && xbt_cfg_get_string("smpi/privatization") == "dlopen") {
     XBT_WARN("dlopen+thread broken on Apple and BSD. Switching to raw contexts.");
     context_factory_name = "raw";
   }
 #endif
 #if defined(__FreeBSD__)
-  if (context_factory_name == std::string("thread") && strcmp(xbt_cfg_get_string("smpi/privatization"), "no") != 0) {
+  if (context_factory_name == std::string("thread") && xbt_cfg_get_string("smpi/privatization") != "no") {
     XBT_WARN("mmap broken on FreeBSD, but dlopen+thread broken too. Switching to dlopen+raw contexts.");
     context_factory_name = "raw";
   }
@@ -171,11 +168,11 @@ void *SIMIX_context_stack_new()
    * growing downward (PTH_STACKGROWTH == -1).  Protected pages need to be put
    * after the stack when PTH_STACKGROWTH == 1. */
 
-  if (smx_context_guard_size > 0 && !MC_is_active()) {
+  if (smx_context_guard_size > 0 && not MC_is_active()) {
 
 #if !defined(PTH_STACKGROWTH) || (PTH_STACKGROWTH != -1)
     static int warned_once = 0;
-    if (!warned_once) {
+    if (not warned_once) {
       XBT_WARN("Stack overflow protection is known to be broken on your system.  Either stack grows upwards, or it was not even tested properly.");
       warned_once = 1;
     }
@@ -221,7 +218,7 @@ void *SIMIX_context_stack_new()
 
 void SIMIX_context_stack_delete(void *stack)
 {
-  if (!stack)
+  if (not stack)
     return;
 
 #if HAVE_VALGRIND_H
@@ -231,7 +228,7 @@ void SIMIX_context_stack_delete(void *stack)
 #endif
 
 #ifndef _WIN32
-  if (smx_context_guard_size > 0 && !MC_is_active()) {
+  if (smx_context_guard_size > 0 && not MC_is_active()) {
     stack = (char *)stack - smx_context_guard_size;
     if (mprotect(stack, smx_context_guard_size, PROT_READ | PROT_WRITE) == -1) {
       XBT_WARN("Failed to remove page protection: %s", strerror(errno));
@@ -271,10 +268,10 @@ int SIMIX_context_get_nthreads() {
  * \param nb_threads the number of threads to use
  */
 void SIMIX_context_set_nthreads(int nb_threads) {
-  if (nb_threads<=0) {  
+  if (nb_threads<=0) {
      nb_threads = xbt_os_get_numcores();
      XBT_INFO("Auto-setting contexts/nthreads to %d",nb_threads);
-  }   
+  }
 #if !HAVE_THREAD_CONTEXTS
   xbt_assert(nb_threads == 1, "Parallel runs are impossible when the pthreads are missing.");
 #endif