--- 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);