--- freem/src/frmgbl.c 2025/04/16 17:36:12 1.12
+++ freem/src/frmgbl.c 2025/04/28 19:38:55 1.14
@@ -1,5 +1,5 @@
/*
- * $Id: frmgbl.c,v 1.12 2025/04/16 17:36:12 snw Exp $
+ * $Id: frmgbl.c,v 1.14 2025/04/28 19:38:55 snw Exp $
* freem global C variables
*
*
@@ -24,6 +24,12 @@
* along with FreeM. If not, see .
*
* $Log: frmgbl.c,v $
+ * Revision 1.14 2025/04/28 19:38:55 snw
+ * Add trace mode
+ *
+ * Revision 1.13 2025/04/17 14:34:27 snw
+ * Further logging improvements
+ *
* Revision 1.12 2025/04/16 17:36:12 snw
* Add FreeBSD shm cleanup script
*
@@ -64,9 +70,10 @@
#include
#include
#include
+#include
#include "transact.h"
#include "locktab.h"
-#include
+#include "log.h"
#ifdef LIBFREEM
# include "errmsg.h"
@@ -652,6 +659,8 @@ short ipc_pending = 0; /* 1 if an inco
int strict_mode = 0;
+int trace_mode = 0;
+
short first_process = FALSE;
#if defined(__FreeBSD__)
size_t shm_init_size = 4194304;
@@ -740,11 +749,12 @@ void m_fatal(char *s)
if (tp_level) {
- fprintf (stderr, "freem [FATAL]: memory allocation failure in %s; rolling back %d transactions [errno %d %s]\n", s, tp_level, errno_sav, strerror (errno_sav));
+ /* TODO: make this FM_LOG_FATAL (logger will need to do a tp_trollback) */
+ logprintf (FM_LOG_ERROR, "freem: memory allocation failure in %s; rolling back %d transactions (error code %d [%s])", s, tp_level, errno_sav, strerror (errno_sav));
tp_trollback (tp_level);
}
else {
- fprintf (stderr, "freem [FATAL]: memory allocation failure in %s [errno %d %s]\n", s, errno_sav, strerror (errno_sav));
+ logprintf (FM_LOG_FATAL, "freem: memory allocation failure in %s (error code %d [%s])", s, errno_sav, strerror (errno_sav));
}
exit (3);