Linux SoftwareProgrammingLibrariesDBIx::Timeout 1.01

DBIx::Timeout 1.01


DBIx::Timeout is a Perl module that provides a safe method of timing out DBI requests. The method described in the DBI documentati
Developer:   Sam Tregar
      more software by author →
Price:  0.00
License:   Perl Artistic License
File size:   5K
Language:   
OS:   
Rating:   0 /5 (0 votes)
Your vote:  
enlarge screenshot


DBIx::Timeout is a Perl module that provides a safe method of timing out DBI requests.

The method described in the DBI documentation uses unsafe signals, which may cause memory corruption. DBIx::Timeout instead uses a separate timeout process.

The problem with using POSIX sigaction() is that it relies on unsafe signals to work. Unsafe signals are well known to cause instability. For example, imagine your DB client code is in the middle of updating some global state when the signal arrives. That global state could be left in an inconsitent state, just wait for the next time it is needed to cause problems. Since this will likely occur far from the cause, and only ocur rarely, it can be a very difficult problem to track down.

Instead, this module:

- Forks a child process which sleeps for $timeout seconds.
- Runs your long-running query in the parent process.
- If the parent process finishes first it kills the child and returns.
- If the child process wakes up it kills the parent's DB thread and exits with a code so the parent knows it was timed out.

NOTE: After this call your database connection may be killed even if no timeout occurred. This is due to a race condition - the child may wake up just as parent process finishes. Patches addressing this bug are welcome. Until this is fixed you should be ready to reconnect after call_with_timeout().

Requirements:
  • Perl
    tags the parent  parent process  the child  unsafe signals  kills the  process finishes  dbix timeout  global state  child process  

    Download DBIx::Timeout 1.01


     http://ftp.casaafacerilor.ro/mirrors/CPAN/authors/id/S/SA/SAMTREGAR/DBIx-Timeout-1.01.tar.gz


    Authors software

    HTML::Template 2.8 (by Sam Tregar)
    HTML::Template module attempts to make using HTML templates simple and natural

    HTML::Template::Expr 0.07 (by Sam Tregar)

    HTML::Template::JIT 0.05 (by Sam Tregar)
    HTML::Template::JIT is a just-in-time compiler for HTML::Template

    Krang 2.007 (by Sam Tregar)
    Krang is an open-source content-management system designed to publish magazine websites

    CGI::Application::Plugin::RateLimit 1.0 (by Sam Tregar)
    CGI::Application::Plugin::RateLimit is a plugin for CGI::Application which provides protection against a user calling a runmode too f


    Similar software

    DBIx::Timeout 1.01 (by Sam Tregar)
    DBIx::Timeout is a Perl module that provides a safe method of timing out DBI requests.

    The method described in the DBI documentati

    ShmFIFO library 1.0 (by World Wide Web Security)
    ShmFIFO library provides an easy-to-use interface to shared memory for programs where one process needs to send blocks of data to oth

    mod_become 1.03 (by Anthony Howe)
    mod_become module enables the web server to take on the access rights of a user & group, so that ~users can make available files to t

    JSignal 0.2 (by Jason Barto)
    JSignal is a loose port of the signal system implemented by GTK's GLib

    mod_log_mysql 20031023 (by Sonke Tesch)
    mod_log_mysql can log requests to Apache 2 using a MySQL database.

    Here are some key features of "mod log mysql":
    · Seamless inte

    IPC::Run 0.80 (by Barrie Slaymaker)
    IPC::Run is a Perl module for system() and background procs w/ piping, redirs, ptys (Unix, Win32).

    Requirements:
    · Perl

    SYNOPS

    DBIx::XMLServer 0.02 (by Martin Bright)
    DBIx::XMLServer is a Perl module to serve data as XML in response to HTTP requests.

    SYNOPSIS

    use XML::LibXML;
    use DBIx::XM

    XML::Filter::DOMFilter::LibXML 0.02 (by Petr Pajas)
    XML::Filter::DOMFilter::LibXML is a SAX Filter allowing DOM processing of selected subtrees.

    SYNOPSIS

    use XML::LibXML;
    use

    POE::Component::Generic 0.0904 (by David Davis and Teknikill Software)
    POE::Component::Generic is a POE component that provides non-blocking access to a blocking object.

    SYNOPSIS

    use POE::Compon

    Nagios::WebTransact::Timed 0.06 (by Stanley Hopcroft)


    Other software in this category

    zlib 1.2.3 (by Jean-loup Gailly)
    zlib is designed to be a free, general-purpose, legally unencumbered, lossless data-compression library for use on virtually any comp

    libjpeg v6b (by Independent JPEG Group)
    libjpeg is a library for handling the JPEG (JFIF) image format

    OpenSSL 0.9.7c (by The OpenSSL Project Team)
    The OpenSSL Project is a collaborative effort to develop a robust, commercial-grade, full-featured, and Open Source toolkit implement

    libxml2 2.6.27 (by DV)
    Libxml2 is the XML C parser and toolkit developed for the Gnome project (but usable outside of the Gnome platform), libxml2 library i

    GNU C library 2.4 (by Andreas Jaeger)
    GNU C library (glibc) is one of the most important components of GNU Hurd and most modern Linux distributions.

    GNU C library is us

  •     search


    Featured Software

    jEdit 4.3 pre8
    jEdit is an Open Source text editor written in Java

    Opera 9.02
    Surf the Internet in a safer, faster, and easier way with Opera browser

    GNU Aspell 0.60.4
    GNU Aspell is a Free and Open Source spell checker designed to eventually replace Ispell


    Subscribe in Rojo
    Google Reader
    Add to My Yahoo!

    Add to My AOL
    Subscribe with Bloglines
    Subscribe in NewsGator Online
    Add 'nixbit linux software' to Newsburst from CNET News.com
    del.icio.us nixbit linux software


    Top tags