perl-DBIx-Timeout - provides safe timeouts for DBI calls

Property Value
Distribution ALT Linux Sisyphus
Repository Autoimports noarch
Package filename perl-DBIx-Timeout-1.01-alt1.noarch.rpm
Package name perl-DBIx-Timeout
Package version 1.01
Package release alt1
Package architecture noarch
Package type rpm
Category Development/Perl
Homepage -
License -
Maintainer -
Download size 9.10 KB
Installed size 9.10 KB
This module provides a safe method of timing out DBI requests.  An
unsafe method is described in the DBI docs:
The problem with using POSIX sigaction() (the method described above)
is that it relies on unsafe signals to work.  Unsafe signals are well
known to cause instability.  To understand why, imagine the 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 waiting for the next time it is needed to cause problems.  Since
this will likely occur far from the cause, and only occur 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
- 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().


Package Version Architecture Repository
perl-DBIx-Timeout - - -


Name Value
/usr/share/perl5 -
perl( -
perl(Params/ -
rpmlib(PayloadIsLzma) -


Name Value
perl(DBIx/ = 1.010
perl-DBIx-Timeout = 1.01-alt1


Type URL
Binary Package perl-DBIx-Timeout-1.01-alt1.noarch.rpm
Source Package perl-DBIx-Timeout-1.01-alt1.src.rpm

Install Howto

  1. Add the following line to /etc/apt/sources.list:
    rpm [Sisyphus] noarch autoimports
    rpm [Sisyphus] noarch autoimports
  2. Update the package index:
    # sudo apt-get update
  3. Install perl-DBIx-Timeout rpm package:
    # sudo apt-get install perl-DBIx-Timeout



See Also

Package Description
perl-DBIx-Tracer-0.03-alt1.noarch.rpm Easy tracer for DBI
perl-DBIx-Transaction-1.100-alt1.noarch.rpm perl module DBIx-Transaction
perl-DBIx-TransactionManager-1.13-alt1.noarch.rpm Transaction handling for database
perl-DBIx-TransactionManager-Distributed-0.02-alt1.noarch.rpm it will not be used for any further transaction requests via L</txn>
perl-DBIx-TransactionManager-EndHook-0.02-alt1.noarch.rpm hook of DBIx::TransactionManager commit
perl-DBIx-TransactionManager-Extended-0.03-alt1.noarch.rpm extended DBIx::TransactionManager
perl-DBIx-Tree-1.97-alt1.noarch.rpm Generate a tree from a self-referential database table
perl-DBIx-Tree-MaterializedPath-0.06-alt1.noarch.rpm fast DBI queries and updates on "materialized path" trees
perl-DBIx-Tree-NestedSet-0.16-alt1.noarch.rpm >connect('DBI:mysql:test','user','pass') or die ($DBI::errstr);
perl-DBIx-Tree-Persist-1.04-alt1.noarch.rpm Play with Tree and Tree::Persist a la DBIx::Tree
perl-DBIx-TryAgain-0.05-alt1.noarch.rpm If at first you don't succeed, try, try again
perl-DBIx-TxnPool-0.12-alt1.noarch.rpm The helper for making SQL insert/delete/update statements through a transaction method with a deadl
perl-DBIx-Version-0.01-alt1.noarch.rpm Perl extension for getting database software name and version
perl-DBIx-VersionedDDL-0.17-alt1.noarch.rpm Upgrade and downgrade database schemas to a specified version
perl-DBIx-VersionedDDL-scripts-0.17-alt1.noarch.rpm DBIx-VersionedDDL scripts