I spent some hours in the airport of Hong-Kong and wanted to get the 1.3.x branch running on cygwin in combination with PHP via FastCGI. On the road I most often work under Windows on my Laptop and being able to really test it under every platform, even cygwin is a nice to have.
It was already spawned automaticly by the internal spawner after I had compiled PHP in cygwin myself with FastCGI support. The only thing missing was a working FastCGI handler. Debugging in cygwin is a lot harder than doing the same under Linux as the strace is tracing the emulated environment and not the native system calls:
$ strace —mask=syscall .libs/lighttpd.exe -D -f ./lighttpd.conf
Adding a bunch of log_error_write() statements in the mod_fastcgi.c code somewhen revealed what is really going on. I still wonder why it ever worked at all :)
changeset 343 is the final result of this debug session and will be part of 1.3.14 moving the ‘please send me FDEVENT_IN’ before we return with WAIT_FOR_EVENT. This also removes the ‘I got FDEVENT_OUT and don’t know way’ messages than sometimes appeared.