--- freem/src/frmgbl.c 2025/04/13 04:22:43 1.11
+++ freem/src/frmgbl.c 2025/04/30 14:41:03 1.15
@@ -1,5 +1,5 @@
/*
- * $Id: frmgbl.c,v 1.11 2025/04/13 04:22:43 snw Exp $
+ * $Id: frmgbl.c,v 1.15 2025/04/30 14:41:03 snw Exp $
* freem global C variables
*
*
@@ -24,6 +24,18 @@
* along with FreeM. If not, see .
*
* $Log: frmgbl.c,v $
+ * Revision 1.15 2025/04/30 14:41:03 snw
+ * Further debugger work
+ *
+ * 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
+ *
* Revision 1.11 2025/04/13 04:22:43 snw
* Fix snprintf calls
*
@@ -61,9 +73,10 @@
#include
#include
#include
+#include
#include "transact.h"
#include "locktab.h"
-#include
+#include "log.h"
#ifdef LIBFREEM
# include "errmsg.h"
@@ -649,9 +662,14 @@ short ipc_pending = 0; /* 1 if an inco
int strict_mode = 0;
-short first_process = FALSE;
-size_t shm_init_size = 16777216;
+int trace_mode = 0;
+short first_process = FALSE;
+#if defined(__FreeBSD__)
+ size_t shm_init_size = 4194304;
+#else
+ size_t shm_init_size = 16777216;
+#endif
short inrpt_after_async = FALSE;
void unnew (void)
@@ -660,6 +678,8 @@ void unnew (void)
int i;
long j;
char tmp[256];
+
+ printf ("unnew\r\n");
#ifdef DEBUG_NEWPTR
int loop;
@@ -734,11 +754,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);