Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
Home -> Community -> Usenet -> c.d.o.misc -> DBMS Pipe problem
Hi ,
We have got a process which is waiting on the DBMS pipe , when we stop that process, the oracle connection
does not break instead gets inherited by the kernel.
The process flow is something like this
· Set the handling for all signals. Ignore SIGTERM , SIGQUIT ,
SIGINT , SIGHUP .
· Set the function sig_stop for SIGUSR1
· Establish connection to the database
· Listen on the DBMS pipe
· Whenever SIGUSR1 is generated sig_stop function gets called
which should disconnect the database and exit.
In the sig_stop function we are calling a function Db_Disconnect in which we are doing a COMMIT WORK RELEASE.
What I had observed is when we send a SIGUSR1 to the process it comes to sig_stop function and starts waiting at COMMIT WORK RELEASE step. Incase I am sending another SIGUSR1 then it goes ahead otherwise it continues waiting.
Is there anyway by which we can solve this problem ?? Can we use signals to break out of DBMS Pipe receive ??
Thanks
Nitin Received on Wed Jul 27 2005 - 19:01:38 CDT