> Ok, now that I am actually at my machine I get the following lines > repeated many times in my log (with a different pid each time -- this > is before forking in the uwsgi_example_spooler function): > *** start log snip **** > I am the spooler -- my pid is39320 > This is very bad!!! > Return from execve(): -1 > Err (2): No such file or directoryunable to find the spooler function, > have you loaded it into the spooler process ? > kevent(): Bad file descriptor [event.c line 446] > [spooler] managing request > uwsgi_spoolfile_on_x-134-84-172-44.hsci.umn.edu_39280_1_0_1327518821_426577 > ... > *** end log snip **** > > After some limit is reached (probably max num processes), fork will > fail and the following is printed to the log > *** start log snip *** > I am the spooler -- my pid is39498 > Blargh -- fork() failed!] > [spooler] done with task > uwsgi_spoolfile_on_x-134-84-172-44.hsci.umn.edu_39280_1_0_1327518821_426577 > after 0 seconds > *** end log snip *** > > After fork fails, I then get spammed with a seemingly infinite number > of lines of: > "kevent(): Bad file descriptor [event.c line 446]" > > Oh, oops... near the top of the log is this > *** start log snip *** > [spooler] written 437 bytes to file > /Users/jvanvoorst/code/drugsite-dev/myspool/uwsgi_spoolfile_on_x-134-84-172-44.hsci.umn.edu_39280_1_0_1327518821_426577 > kevent(): Interrupted system call [event.c line 446] > i am the DrugSite Search plugin after request function > [spooler] managing request > uwsgi_spoolfile_on_x-134-84-172-44.hsci.umn.edu_39280_1_0_1327518821_426577 > ... > *** end log snip *** > > First, I have little experience with fork and execve. What is the > proper way to exit if execve fails (is calling exit()) sufficient)? > > Second, given the trouble others have had with kqueue/poll/select on > Mac OS, it may not be useful to even try to fix such an issue as we > don't know what apple will break in the next releases of Mac OS. Or > maybe the problem is my code sucks in this case .... >
Even if i have developed a good part of uWSGI on a Mac, spooler is one of those things always present in my production systems, so i directly use them as a "final test base" before releases. Honestly i have been beaten by OSX kqueue so much time that i am bit tired (fortunately other BSDs have a rock solid implementation) of adding #ifdef all over the place. Maybe it will be an easy fix, i will check it in the next few days. -- Roberto De Ioris http://unbit.it _______________________________________________ uWSGI mailing list [email protected] http://lists.unbit.it/cgi-bin/mailman/listinfo/uwsgi
