[Koha-patches] [PATCH] Bug 6620 Ensure autoflush is set on output filehandles
Colin Campbell
colin.campbell at ptfs-europe.com
Thu Jul 21 13:30:21 CEST 2011
stdout is by default buffered and a flush is only guaranteed on CR
Sip responses are not CR terminated so we need to ensure autoflush
is switched on so that the filehandle is flushed after a print
Otherwise this can manifest as self checks running slow or
failing due to timeout (although in the log we see the response)
---
C4/SIP/Sip.pm | 5 ++++-
1 files changed, 4 insertions(+), 1 deletions(-)
diff --git a/C4/SIP/Sip.pm b/C4/SIP/Sip.pm
index 8a0f067..337cc0e 100644
--- a/C4/SIP/Sip.pm
+++ b/C4/SIP/Sip.pm
@@ -12,6 +12,7 @@ use Exporter;
use Sys::Syslog qw(syslog);
use POSIX qw(strftime);
use Socket qw(:crlf);
+use IO::Handle;
use Sip::Constants qw(SIP_DATETIME);
use Sip::Checksum qw(checksum);
@@ -230,9 +231,11 @@ sub write_msg {
if ($file) {
+ $file->autoflush(1);
print $file "$msg\r";
} else {
- print "$msg\r";
+ STDOUT->autoflush(1);
+ print $msg, "\r";
syslog("LOG_INFO", "OUTPUT MSG: '$msg'");
}
--
1.7.6
More information about the Koha-patches
mailing list