# Non blocking open open (FH, "+<", $config->{'pipe'} ) || die "Unable to open $config->{'pipe'}"; my $buf = ''; # Loop forever. while (1) { my $rv = sysread( FH, $buf, 2048, length($buf) ); die("Error reading from pipe: $!\n") if !defined($rv); # 9/4/8 A request is C,DIR,1ROSE # Multiple requests can come through on one read ie C,FOO,1ROSEC,BAR,1ROSE while ($buf =~ s/(.*?ROSE)//s) { my $rec = $1; Log( { logfile => $log_file, text => "trace: START: $rec" }) if TRACE; if ( $rec =~ /^RELOAD,/ ) { # Reread the config file Log({logfile=>$log_file, text=> qq{RELOAD: Reloading config}}); load_config(); } else { process_input( { data => $rec } ); } } } # while 1