--- freem/src/init.c 2025/04/15 14:39:06 1.12 +++ freem/src/init.c 2025/04/17 14:34:27 1.13 @@ -1,5 +1,5 @@ /* - * $Id: init.c,v 1.12 2025/04/15 14:39:06 snw Exp $ + * $Id: init.c,v 1.13 2025/04/17 14:34:27 snw Exp $ * FreeM initialization * * @@ -24,6 +24,9 @@ * along with FreeM. If not, see . * * $Log: init.c,v $ + * Revision 1.13 2025/04/17 14:34:27 snw + * Further logging improvements + * * Revision 1.12 2025/04/15 14:39:06 snw * Further improvements to logging * @@ -169,7 +172,8 @@ void init_mwapi(void); short init (char *namespace_name) { short retval; - + int log_level; + init_log (); init_process (); init_devtable (); @@ -194,15 +198,11 @@ short init (char *namespace_name) if (retval == SHMS_GET_ERR) { if (errno != 13) { - fprintf (stderr, "init: error initializing shared memory [errno %d]\r\n", errno); + logprintf (FM_LOG_FATAL, "init: error initializing shared memory (error code %d [%s])", errno, strerror (errno)); } else { - fprintf (stderr, "init: error attaching to environment -- does your user belong to the group that owns environment '%s'?\r\n", shm_env); - } - if (run_daemon == FALSE) { - set_io (UNIX); + logprintf (FM_LOG_FATAL, "init: error attaching to environment -- does your user belong to the group that owns environment '%s'?", shm_env); } - exit (1); } symtab_init (); @@ -211,28 +211,35 @@ short init (char *namespace_name) set_namespace (namespace_name, FALSE); if (first_process) { - fprintf (stderr, "init: we are the first process in the environment (pid %d)\r\n", pid); + log_level = FM_LOG_INFO; + } + else { + log_level = FM_LOG_DEBUG; + } + + if (first_process) { + logprintf (log_level, "init: we are the first process in the environment (pid %d)", pid); } - if (first_process) fprintf (stderr, "init: initializing job table\r\n"); + logprintf (log_level, "init: initializing job table"); jobtab_init (); - if (first_process) fprintf (stderr, "init: adding job to job table\r\n"); + logprintf (log_level, "init: adding job to job table"); job_init (FALSE); - if (first_process) fprintf (stderr, "init: initializing structured system variables\r\n"); + logprintf (log_level, "init: initializing structured system variables"); init_ssvn (); - if (first_process) fprintf (stderr, "init: initializing terminal\r\n"); + logprintf (log_level, "init: initializing terminal"); init_terminal (); - if (first_process) fprintf (stderr, "init: initializing asynchronous events\r\n"); + logprintf (log_level, "init: initializing asynchronous events"); evt_init (); - if (first_process) fprintf (stderr, "init: initializing debugger\r\n"); + logprintf (log_level, "init: initializing debugger"); dbg_init (); - if (first_process) fprintf (stderr, "init: initializing error stack\r\n"); + logprintf (log_level, "init: initializing error stack"); init_estack(); etrap[0] = EOL;