Re: Signal Handling

From: Kristian Nielsen (kn_at_sifira.dk)
Date: 12/17/03

  • Next message: Fernando Luna: "RE: Refreshing a database from another"
    To: <dbi-users@perl.org>
    Date: 17 Dec 2003 08:56:19 +0100
    
    

    "Khamneian, Mahtaj" <khamneianm@umsystem.edu> writes:

    Not sure if it is relevant here (I couldn't find mention of the Perl
    version in the thread), bu signal handling has changed between Perl 5.6
    and 5.8. In Perl 5.6 signals are asynchronous (as in C), while in Perl
    5.8 they are synchronous and only handled between Perl bytecode
    instructions.

    So unless DBD::Oracle does something special, I would expect in Perl 5.8
    that signal handling is delayed until the XS code (such as execute) has
    finished, which matches the behaviour you are seeing.

    It should be possible in Perl 5.8 to switch back to the old 5.6 (unsafe)
    signal handling mode for immediate signal handling (not sure of the
    details).

    What would be interesting is if DBD::Oracle could be extended to handle
    signals explicitly to enable safe aborting of DBI operations. Not sure
    what that would involve, though.

     - Kristian.

    -- 
    Kristian Nielsen   kn@sifira.dk
    Development Manager, Sifira A/S
    

  • Next message: Fernando Luna: "RE: Refreshing a database from another"