version 1.26, 2025/04/16 17:36:12
|
version 1.28, 2025/05/14 12:22:04
|
Line 24
|
Line 24
|
* along with FreeM. If not, see <https://www.gnu.org/licenses/>. |
* along with FreeM. If not, see <https://www.gnu.org/licenses/>. |
* |
* |
* $Log$ |
* $Log$ |
|
* Revision 1.28 2025/05/14 12:22:04 snw |
|
* Further work on shared memory |
|
* |
|
* Revision 1.27 2025/04/17 00:34:04 snw |
|
* More logging improvements |
|
* |
* Revision 1.26 2025/04/16 17:36:12 snw |
* Revision 1.26 2025/04/16 17:36:12 snw |
* Add FreeBSD shm cleanup script |
* Add FreeBSD shm cleanup script |
* |
* |
Line 523 int main (int argc, char **argv, char **
|
Line 529 int main (int argc, char **argv, char **
|
} |
} |
#endif |
#endif |
|
|
|
|
if (run_daemon == TRUE) { |
if (run_daemon == TRUE) { |
if (geteuid () != 0 && nofork == FALSE) { |
if (geteuid () != 0 && nofork == FALSE) { |
logprintf (FM_LOG_FATAL, "freem: forking daemon must be run as root"); |
logprintf (FM_LOG_FATAL, "freem: forking daemon must be run as root"); |
} |
} |
} |
} |
|
|
|
|
if ((nofork == TRUE) && (run_daemon == FALSE)) { |
if ((nofork == TRUE) && (run_daemon == FALSE)) { |
freem_usage (); |
freem_usage (); |
exit (1); |
exit (1); |
Line 793 int main (int argc, char **argv, char **
|
Line 801 int main (int argc, char **argv, char **
|
|
|
logprintf (FM_LOG_WARNING, "environment: entering maintenance mode"); |
logprintf (FM_LOG_WARNING, "environment: entering maintenance mode"); |
|
|
for (slot = shm_config->hdr->jobtab_head; slot != NULL; slot = slot->next) { |
for (slot = SOA(shm_config->hdr->jobtab_head); slot != NULL; slot = SOA(slot->next)) { |
|
|
if ((slot->pid != pid) && ((slot->flags & JFLG_FMADM) != JFLG_FMADM)) { |
if ((slot->pid != pid) && ((slot->flags & JFLG_FMADM) != JFLG_FMADM)) { |
kill (slot->pid, SIGINT); |
kill (slot->pid, SIGINT); |
Line 847 int main (int argc, char **argv, char **
|
Line 855 int main (int argc, char **argv, char **
|
exit (0); |
exit (0); |
|
|
} |
} |
|
|
job_gc_mark (); |
job_gc_mark (); |
job_set_status (pid, JSTAT_IDLE); |
job_set_status (pid, JSTAT_IDLE); |
sleep (1); |
sleep (1); |
|
|
job_set_status (pid, JSTAT_HOUSEKEEPING); |
job_set_status (pid, JSTAT_HOUSEKEEPING); |
job_gc_sweep (); |
job_gc_sweep (); |
|
|
sleep (1); |
sleep (1); |
} |
} |
|
|