--- freem/src/sighnd.c 2025/03/24 04:15:25 1.6
+++ freem/src/sighnd.c 2026/01/07 19:51:33 1.12
@@ -1,5 +1,5 @@
/*
- * $Id: sighnd.c,v 1.6 2025/03/24 04:15:25 snw Exp $
+ * $Id: sighnd.c,v 1.12 2026/01/07 19:51:33 snw Exp $
* FreeM signal handlers
*
*
@@ -24,6 +24,24 @@
* along with FreeM. If not, see .
*
* $Log: sighnd.c,v $
+ * Revision 1.12 2026/01/07 19:51:33 snw
+ * Fix segfault in reverse $QUERY
+ *
+ * Revision 1.11 2025/05/01 21:02:31 snw
+ * Documentation updates
+ *
+ * Revision 1.10 2025/04/30 20:03:09 snw
+ * Work on entryref parser
+ *
+ * Revision 1.9 2025/04/15 18:39:20 snw
+ * Remove extraneous CRLFs in logprintf calls
+ *
+ * Revision 1.8 2025/04/15 16:49:36 snw
+ * Make use of logprintf throughout codebase
+ *
+ * Revision 1.7 2025/04/10 01:24:38 snw
+ * Remove C++ style comments
+ *
* Revision 1.6 2025/03/24 04:15:25 snw
* Create dummy onwinch signal handler for OS/2
*
@@ -60,8 +78,10 @@
# endif
# define termio termios
# else
-# if !defined(MSDOS)
+# if !defined(MSDOS) && !defined(__linux__)
# include
+# else
+# include
# endif
# endif
#else
@@ -76,10 +96,9 @@
#include "events.h"
#include "jobtab.h"
#include "shmmgr.h"
+#include "log.h"
-
-void m_log (int, const char *);
int pending_signal_type = -1;
void sig_attach(int sig, void *handler)
@@ -90,7 +109,7 @@ void sig_attach(int sig, void *handler)
#if !defined(__AMIGA)
sigaction (sig, &act, NULL);
#else
- //TODO: fill in for m68k-amigaos
+ /* TODO: fill in for m68k-amigaos */
#endif
}
@@ -155,7 +174,7 @@ void onintr (void)
{
sig_attach (SIGINT, &onintr); /* restore handler */
- //printf ("\r\nSIGINT codptr = '%s'\r\n", codptr);
+ /* printf ("\r\nSIGINT codptr = '%s'\r\n", codptr); */
if (first_process) {
job_request_stop (pid);
@@ -181,11 +200,14 @@ void onintr (void)
}
}
-
- if (breakon) {
+ if (breakon) {
merr_raise (INRPT);
inrpt_after_async = TRUE;
if (forsw) sigint_in_for = TRUE;
+
+ if (usermode == 1) {
+ debug_mode = TRUE;
+ }
}
else {
zcc = TRUE;
@@ -289,8 +311,7 @@ void onhup (void)
if (run_daemon == TRUE) {
- fprintf (stderr, "freem: daemon received SIGHUP\r\n");
- m_log (1, "freem: daemon received SIGHUP");
+ logprintf (FM_LOG_INFO, "environment: daemon received SIGHUP");
sig_attach (SIGHUP, &onhup); /* restore handler */