Hello, I've started a fork to come up with a solution for this issue, as suggested in the comments, poll() might be a better syscal to solve this problem. It doesn't work on Mac's python, but I can implement a kqueue version for this case.
My fork is: https://github.com/igorsobreira/supervisor/commits/master As described on the issue, we need to increase the file descriptors limit to see the error, or we get this other error: http://ideone.com/6ImqG Using ulimit to increate the file descriptor limit we get: http://ideone.com/kRpzR Now using my work we also can't do much without increasing the file descriptor limit: http://ideone.com/t92Z2, but if we do, here is what we get: http://ideone.com/V5rH0 As you can see a new error appears: "INFO spawnerr: Too many processes in process table to spawn 'cat-1049'" To make this work I had to increate the number of file descriptors and allowed forks. I've added minfds=10000 to config file and executed (I'm on OS X Snow Leopard): http://ideone.com/mqnhq There still some issues to work on: - handle POLLERR (any suggestion on how I can simulate this one?) - use kqueue on darwin - suggestion?! Any feedback? I also would like some suggestions on more tests I could do... Thanks. -- Igor Sobreira www.igorsobreira.com
_______________________________________________ Supervisor-users mailing list [email protected] http://lists.supervisord.org/mailman/listinfo/supervisor-users
