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

Reply via email to