K
krivenok.dmitry
Hello All!
Look at the following pseudo-code:
....
....
while(1)
{
while( $client = $server->accept )
{
next if fork;
# Child code here
print "New client\n";
# Arbitrary perl code (work with Oracle via DBI, logging,
request processing, etc)
exit;
}
}
....
....
As you can see this is a part of TCP server.
My server dies after some time
I see message about Oracle critical error in my log (this is the last
message).
It's very strange because all work with Oracle is performed in _child_
process!
I can't understand how can parent process die!
It may happen only if accept dies, since parent process calls only
accept and fork
in its main loop.
Any ideas?
Look at the following pseudo-code:
....
....
while(1)
{
while( $client = $server->accept )
{
next if fork;
# Child code here
print "New client\n";
# Arbitrary perl code (work with Oracle via DBI, logging,
request processing, etc)
exit;
}
}
....
....
As you can see this is a part of TCP server.
My server dies after some time
I see message about Oracle critical error in my log (this is the last
message).
It's very strange because all work with Oracle is performed in _child_
process!
I can't understand how can parent process die!
It may happen only if accept dies, since parent process calls only
accept and fork
in its main loop.
Any ideas?