commit 8981fb6b1ecf5fd2570d4ae9d2cabc4c0ff40899
parent 3a413c07ce5492dc490f11811e3d380ececa60b8
Author: kyle <kyle@0x30.net>
Date: Tue, 12 Jan 2016 23:27:58 -0700
sl: fix some bad signal handling
Diffstat:
1 file changed, 2 insertions(+), 3 deletions(-)
diff --git a/server/sl b/server/sl
@@ -16,9 +16,6 @@ our (%msg_num, @msg_str, @msg_func, $protocol_ver);
my %args;
getopts("p:t", \%args);
-$SIG{TERM} = sub { exit };
-$SIG{INT} = sub { exit };
-
my $db_file = "db";
$db_file = File::Temp->new(SUFFIX => '.db', EXLOCK => 0) if ($args{t});
@@ -40,6 +37,8 @@ die "Could not create socket: $!\n" unless $listen_sock;
my ($addr, $port) = ($listen_sock->sockhost(), $listen_sock->sockport());
$log->print_bare("accepting connections on $addr:$port (pid = '$$')\n");
+$SIG{CHLD} = 'IGNORE';
+
# every time accept() returns we have a new client trying to connect
while (my $client_sock = $listen_sock->accept()) {