From b0a42333666ff136deb478b8debf5b63f83ed298 Mon Sep 17 00:00:00 2001 From: JAMES Mason Date: Mon, 6 Jun 2011 16:10:39 +1200 Subject: [PATCH] Bug 6466 - hung socket read causes SIP tests to fail Signed-off-by: Chris Cormack Signed-off-by: Paul Poulain --- C4/SIP/t/SIPtest.pm | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/C4/SIP/t/SIPtest.pm b/C4/SIP/t/SIPtest.pm index 62d5646b4f..0504d23c8c 100644 --- a/C4/SIP/t/SIPtest.pm +++ b/C4/SIP/t/SIPtest.pm @@ -185,10 +185,14 @@ sub one_msg { # If reading or writing fails, then the server's dead, # so there's no point in continuing. - if (!write_msg({seqno => $seqno}, $test->{msg}, $sock)) { - BAIL_OUT("Write failure in $test->{id}"); - } elsif (!($resp = <$sock>)) { - BAIL_OUT("Read failure in $test->{id}"); + if ( !write_msg( { seqno => $seqno }, $test->{msg}, $sock ) ) { + BAIL_OUT("Write failure in $test->{id}"); + } + + my $rv = sysread( $sock, $resp, 10000000 ); # 10000000 is a big number + + if ( !$rv ) { + BAIL_OUT("Read failure in $test->{id}"); } chomp($resp); -- 2.39.5