Jason0x21 has asked for the wisdom of the Perl Monks concerning the following question:
I'm working on a server daemon program that
will provide a running "tail" of a log file
to clients connected with "telnet". To start
with, I used the forking server shown on
pages 350-351 in Chapter 6 of the
- Programming Perl
spawn sub { my($nodie) = 1; my(@tail) = (); my($err) = 0; print "Hello there, $name, it's now ", scalar localtime, $EOL; open(REQLOG,$ReqLog) || confess "can't open $ReqLog: $!"; while(<REQLOG>) { push(@tail,$_); if($#tail>10) { shift(@tail); } } foreach(@tail) { print $_,"\r"; } while($nodie) { while(<REQLOG>) { if(! print $_,"\r") { confess "can't print to socket: $!"; $nodie = 0; last; } } } sleep(5); seek(REQLOG,0,1); } }; }The "tailing" procedure works just fine, the problem happens when I disconnect from the client side. The forked server sending data to the client doesn't exit. I don't get any messages. Is there a signal I'm supposed to be looking for here? Thanks in advance.
|
---|
Replies are listed 'Best First'. | |
---|---|
Re: TCP/IP
by mikfire (Deacon) on Apr 05, 2000 at 07:29 UTC | |
Re: TCP/IP
by Jason0x21 (Initiate) on Apr 05, 2000 at 19:13 UTC | |
by mikfire (Deacon) on Apr 05, 2000 at 20:40 UTC | |
Re: TCP/IP
by Jason0x21 (Initiate) on Apr 06, 2000 at 00:42 UTC | |
Re: TCP/IP
by mikfire (Deacon) on Apr 06, 2000 at 00:55 UTC | |
Re: TCP/IP
by plaid (Chaplain) on Apr 05, 2000 at 06:28 UTC | |
RE: TCP/IP
by Anonymous Monk on Apr 05, 2000 at 23:38 UTC | |
Re: TCP/IP
by turnstep (Parson) on Apr 05, 2000 at 05:09 UTC | |
by btrott (Parson) on Apr 05, 2000 at 05:22 UTC |
Back to
Seekers of Perl Wisdom