p5-RedisDB / RedisDB

Perl extension to access Redis
22 stars 11 forks source link

Win32 Compatibility, Round 2 #3

Closed sanko closed 13 years ago

sanko commented 13 years ago

Hi!

All changes made work so far. ...that's the good news. The bad news is Windows is still fighting against you.

I won't go into Perl on Windows' fork, exec, and signal emulation but suffice it to say it doesn't work correctly; Right now, your tests leave zombie redis-server processes behind and/or hang. In most of your tests, issuing a shutdown command to redis before calling $server->stop is enough but that wouldn't work for t/transactions.t where you lose the connection before exit. ...and even with that change, Windows bungles kill SIGTERM, $self->{pid}; and the tests are marked failures. kill 0, $self->{pid};, despite being incorrect, works except in t/transactions.t where it still just hangs.

And, as written, timeouts don't work on Windows so you could skip these as you do on Solaris.

trinitum commented 13 years ago

Thank you for your help! I think this time I got it right, I'm sending shutdown instead of killing redis on Windows, and skipping timeout too.