in reply to Re^2: IPC via named pipes, losing some messages
in thread IPC via named pipes, losing some messages
"ROSE" has got to be the weirdest line ending I've ever seen.
I took the liberty of cleaning up your code a bit.
# 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,B +AR,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 confi +g}}); load_config(); } else { process_input( { data => $rec } ); } } } # while 1
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^4: IPC via named pipes, losing some messages
by ftumsh (Scribe) on Apr 23, 2008 at 11:24 UTC | |
by ikegami (Patriarch) on May 01, 2008 at 09:21 UTC | |
by ftumsh (Scribe) on May 14, 2008 at 11:34 UTC | |
by ikegami (Patriarch) on May 14, 2008 at 14:50 UTC |