Oracle FAQ Your Portal to the Oracle Knowledge Grid
HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US
 

Home -> Community -> Usenet -> c.d.o.misc -> DBMS Pipe problem

DBMS Pipe problem

From: Nitin <nitin.kp_at_gmail.com>
Date: 27 Jul 2005 17:01:38 -0700
Message-ID: <1122508898.816610.89870@g47g2000cwa.googlegroups.com>


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

Original text of this message

HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US