Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Ups, you may need this
authormquinson <mquinson@48e7efb5-ca39-0410-a469-dd3cf9ba447f>
Sun, 7 Aug 2005 17:41:50 +0000 (17:41 +0000)
committermquinson <mquinson@48e7efb5-ca39-0410-a469-dd3cf9ba447f>
Sun, 7 Aug 2005 17:41:50 +0000 (17:41 +0000)
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/simgrid/simgrid/trunk@1615 48e7efb5-ca39-0410-a469-dd3cf9ba447f

src/xbt/asserts.c [new file with mode: 0644]

diff --git a/src/xbt/asserts.c b/src/xbt/asserts.c
new file mode 100644 (file)
index 0000000..f312dda
--- /dev/null
@@ -0,0 +1,34 @@
+/* $Id$ */
+/*  xbt/asserts.h -- assertion mecanism                                     */
+
+/* Copyright (c) 2004,2005 Martin Quinson. 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 <stdlib.h> /* abort */
+#include "xbt/log.h"
+#include "xbt/asserts.h"
+
+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();
+}