Просмотр исходного кода

Added file and line of caller, useful for troubleshooting.


git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@1235 fd59a12c-fef9-0310-b244-a6a79926bd2f
Hans Feldt 19 лет назад
Родитель
Сommit
d23d9c3ec8
2 измененных файлов с 8 добавлено и 4 удалено
  1. 5 3
      exec/util.c
  2. 3 1
      exec/util.h

+ 5 - 3
exec/util.c

@@ -83,11 +83,13 @@ SaTimeT clust_time_now(void)
 }
 
 
-void openais_exit_error (enum e_ais_done err)
+void _openais_exit_error (
+	enum e_ais_done err, const char *file, unsigned int line)
 {
-	log_printf (LOG_LEVEL_ERROR, "AIS Executive exiting (%d).\n", err);
+	log_printf (LOG_LEVEL_ERROR, "AIS Executive exiting with status %d at %s:%u.\n",
+		err, file, line);
 	log_flush();
-	exit (err);
+	exit (EXIT_FAILURE);
 }
 
 char *getSaNameT (SaNameT *name)

+ 3 - 1
exec/util.h

@@ -67,7 +67,9 @@ enum e_ais_done {
  */
 extern int name_match(SaNameT *name1, SaNameT *name2);
 extern int mar_name_match(mar_name_t *name1, mar_name_t *name2);
-void openais_exit_error (enum e_ais_done err);
+#define openais_exit_error(err) _openais_exit_error ((err), __FILE__, __LINE__)
+extern void _openais_exit_error (
+	enum e_ais_done err, const char *file, unsigned int line);
 extern char *getSaNameT (SaNameT *name);
 extern char *strstr_rs (const char *haystack, const char *needle);
 extern void setSaNameT (SaNameT *name, char *str);