Small fix to AnyEvent::DBI, does not close correctly on DESTROY/kill_child

Marc Lehmann schmorp at schmorp.de
Wed Aug 28 17:17:24 CEST 2013


On Wed, Aug 28, 2013 at 09:25:19AM +0200, Jerry Lundström <jerry.lundstrom at iis.se> wrote:
> But, having thought some more on this, if you use shutdown (2 for
> both ways) and skip sending a signal that will be a much cleaner
> way to indicate for the child process that it should end because
> sysread/syswrite will fail and you don't have to worry about broken
> database layers messing with the signals or if fact if the OS supports
> signaling in that way (Windows right?).

As I said, I can do that, however, TERM shouldn't be sent while the
database is busy, and when sqlite corrupts it's database when the process
exits while it's idle I am not sure exiting in other ways will much
improve it.

On native windows perls, fork is not usable for any such thing, so you'd
need an external process anyways, and then TERM works even "cleaner" then
on unix (TerminateProcess).

> All in all, I would like to support SQLite in my application and seamlessly support SQLite's SQL_BUSY so I need to make my own module anyway.

By all means, go for it, and make sure you publish it for others to take
advantage of it :)

-- 
                The choice of a       Deliantra, the free code+content MORPG
      -----==-     _GNU_              http://www.deliantra.net
      ----==-- _       generation
      ---==---(_)__  __ ____  __      Marc Lehmann
      --==---/ / _ \/ // /\ \/ /      schmorp at schmorp.de
      -=====/_/_//_/\_,_/ /_/\_\



More information about the anyevent mailing list