Andrzej Adam Filip < XXXX@XXXXX.COM > wrote
No, but maybe I misunderstood the Socket-Map protocoll. Here's what I did:
My socket-map daemon is started by inetd using this line
socketmap stream tcp wait smmsp /usr/bin/orasockmap orasockmap ....
Notice the wait-entry which I choosed for performace-resons as setting
up an oracle-connection needs lots of resources and should not be done
for each alias-lookup.
The daemon itself will connect to the database, will accept incoming
connections and will then answer all requests from that connection.
If no further requests can be read from one connection the daemon closes
the connections and will wait for another connection. If no connection
request is detected within some timeout period (60 sec) the daemon stops
and inetd will restart another daemon process if one is needed later.
This means that there will be only one active connection to the socket
map daemon. If another sendmail-process wants to connect to the socket
map daemon, it has to wait until an already active connection is
closed - Is this my problem?
How long will a sendmail-process wait for a succesfull connection
to its socket-map daemon?
Will a sendmail-process close the TCP-connection to the socket-map
if its not needed any more - or will that connection be kept open
while the sendmail-process is doing something else?
What would you suggest? Starting the socket map daemon in nowait-mode?
Or should one daemon process handle multiple connections?
Setting MAX_DAEMON_CHILDREN to 1 - Good or bad idea?