diff --git a/lib/perl/lib/Thrift/Server.pm b/lib/perl/lib/Thrift/Server.pm index 97e662061..ac1e17ddd 100644 --- a/lib/perl/lib/Thrift/Server.pm +++ b/lib/perl/lib/Thrift/Server.pm @@ -125,7 +125,6 @@ sub _handleException } } - # # SimpleServer from the Server base class that handles one connection at a time # @@ -191,6 +190,9 @@ sub serve { my $self = shift; + # THRIFT-3848: without ignoring SIGCHLD, perl ForkingServer goes into a tight loop + $SIG{CHLD} = 'IGNORE'; + $self->{serverTransport}->listen(); while (1) {