InterLinked1 / lbbs

Lightweight BBS For Linux - Bulletin Board System server software
GNU General Public License v2.0
35 stars 4 forks source link

system.c: SIGINT sent to child process can cause entire BBS to shut down #19

Closed InterLinked1 closed 6 days ago

InterLinked1 commented 10 months ago

I've seen several instances where an entire BBS server shuts down (cleanly) because a child process exited, but this shouldn't be happening.

e.g.:

[2023-08-17 12:30:45.829] VERBOSE[826200]: menu.c:606 bbs_menu_run: Node 4 selected option 'F' at menu(2) 'games'
[2023-08-17 12:30:45.831]   DEBUG[826200]: variables.c:496 bbs_node_substitute_vars: Substituted '/usr/games/go-fish' to '/usr/games/go-fish'
[2023-08-17 12:30:45.831]   DEBUG[826200]: handler.c:176 menu_handler_exec: Executing menu handler exec (/usr/games/go-fish)
[2023-08-17 12:30:45.831]   DEBUG[826200]: term.c:116 bbs_node_set_input: Node 4 (fd 103): input now buffered, echo enabled
[2023-08-17 12:30:45.831]   DEBUG[826200]: system.c:646 __bbs_execvpe_fd: node: 0x7fdb7c00f700, usenode: 1, fdin: -1, fdout: -1, filename: /usr/games/go-fish, isolated: no
[2023-08-17 12:30:45.831]   DEBUG[826200]: system.c:665 __bbs_execvpe_fd: sid: 56685, tcpgrp: -1
[2023-08-17 12:30:45.834]   DEBUG[826200]: node.c:876 bbs_node_update_winsize: Sending SIGWINCH to foreground process 826222 for node 4
[2023-08-17 12:30:45.837]   DEBUG[826200]: system.c:931 __bbs_execvpe_fd: Waiting for process 826222 to exit
[2023-08-17 12:30:51.994]   DEBUG[826200]: system.c:180 waitpidexit: Process 826222 (/usr/games/go-fish) killed, signal 2
[2023-08-17 12:30:51.994]   DEBUG[826200]: system.c:197 waitpidexit: Command execution finished (/usr/games/go-fish): res = 0
[2023-08-17 12:30:51.994]   DEBUG[826200]: socket.c:2368 bbs_node_wait_key: Waiting 120000 ms for any input
[2023-08-17 12:30:51.994]   DEBUG[826200]: term.c:116 bbs_node_set_input: Node 4 (fd 103): input now unbuffered, echo disabled
[2023-08-17 12:30:51.994]   DEBUG[826201]: pty.c:659 pty_master: Sending SIGINT to process 826222
[2023-08-17 12:30:51.995]   DEBUG[779131]: bbs.c:620 __sigint_handler: Got SIGINT, requesting shutdown
[2023-08-17 12:30:51.995]   DEBUG[779131]: bbs.c:718 monitor_sig_flags: Shutdown requested
[2023-08-17 12:30:51.995]   DEBUG[779131]: event.c:127 bbs_event_broadcast: Event SHUTDOWN dispatched and not consumed
[2023-08-17 12:30:51.995] VERBOSE[779131]: bbs.c:554 bbs_shutdown: Shutting down BBS
[2023-08-17 12:30:51.995]   DEBUG[779131]: node.c:489 node_shutdown: Terminating node 1
[2023-08-17 12:30:51.995]   DEBUG[779131]: node.c:552 node_shutdown: Waiting for node 1 to exit
InterLinked1 commented 6 days ago

Marking as stale, I have not observed this in a very long time.