Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
"new ruby host method"
[simgrid.git] / src / xbt / error.c
index 6e5e1b8..9fe0e4e 100644 (file)
@@ -8,30 +8,50 @@
 /* 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 "gras_private.h"
+#include "xbt/sysdep.h"
 
 /**
- * gras_error_name:
- * @errcode: 
- * @Returns: the printable name of an error code
+ * \brief Usefull to do nice error repporting messages.
+ *
+ * \param errcode
+ * \return the printable name of an error code
  *
- * usefull to do nice error repporting messages
  */
+const char *xbt_error_name(xbt_error_t errcode)  {
 
-const char *gras_error_name(gras_error_t errcode)  {
+  switch (errcode) {
 
-   switch (errcode) {
-      
     case no_error: return "success";
-    case malloc_error: return "malloc";
-    case mismatch_error: return "mismatch";
-    case system_error: return "system";
-    case network_error: return "network";
-    case timeout_error: return "timeout";
-    case thread_error: return "thread";
-    case unknown_error: return "unclassified";
+    case old_mismatch_error: return "mismatch";
+    case old_system_error: return "system";
+    case old_network_error: return "network";
+    case old_timeout_error: return "timeout";
+    case old_thread_error: return "thread";
+    case old_unknown_error: return "unclassified";
     default:
       return "SEVERE ERROR in error repporting module";
-   }
+  }
+}
+
+XBT_LOG_EXTERNAL_CATEGORY(xbt);
+XBT_LOG_DEFAULT_CATEGORY(xbt);
+
+/**
+ * @brief Kill the program with an error message
+ * \param msg
+ *
+ * Things are so messed up that the only thing to do now, is to stop the program.
+ *
+ * The message is handled by a CRITICAL logging request
+ *
+ * If you want to pass arguments to the format, you can always write xbt_assert1(0,"fmt",args)
+ */
+void xbt_die (const char *msg) {
+  CRITICAL1("%s",msg);
+  xbt_abort();
 }
 
+/** @brief Kill the program in silence */
+void xbt_abort(void) {
+  abort();
+}