> 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

Reply via email to