in reply to DBI Timeouts and MySQL

What version of Perl are you using? In version 5.8.0 Perl switched from supporting real asynchronous signals to something called safe signals. Safe signals only trigger between op-codes, if I understand things correctly, which in this case probably means after the DBI XS code is finished thus defeating your attempt at timing out DBI.

The nice thing about safe signals is that they no longer cause seg-faults, which is what your code would probably do if it really did interupt DBI halfway through a request!

UPDATE: Did you read the section on this in the DBI docs? It sounds like POSIX::sigaction() or Sys::SigAction may be the correct, if still rather dangerous, work-around to the problem posed by safe signals.

-sam