On Sun, 17 Sep 2006, Dean Arnold wrote:
Er, but how ? Unless/until the DBI is threadsafe, the only way for kill_session() to work is by breaking the DBD out of the current blocking request. Which I assume is to be accomplished by throwing signals around ?
DBIx::Timeout uses a separate fork()ed process. No need for threads here!
(I'll note that signals are conclusive proof that UNIX was developed in an era when recreational narcotics were readily available and inexpensive.)
Ever read "Linux Core Kernel Commentary"? It makes signals seem almost sane. Probably because from the kernel's point of view they make perfect sense.
Oh, and then there's the little matter of non-POSIX platforms. Trying to reliably use Perl + fork + signals + some external library on Win32 will certainly keep a developer busy for a few days.
I'd be interested in a patch to get DBIx::Timeout working on Windows. I have absolutely no interest in developing or testing it, but that shouldn't stop you! -sam