On Tue, Sep 16, 2014 at 4:27 PM, Kaya Saman <kayasa...@gmail.com> wrote: > I'm not sure what happened but after updating OpenBSD today, then > updating the installed packages Dansguardian seems to not be working..... ... > The only error in the logs that I can see is: > > dansguardian[11832]: Error polling child process sockets: Invalid argument > dansguardian[11832]: Error polling child process sockets: Invalid argument
So the error means that poll() is being passed an nfds argument too large, larger than the process could have open as fds. It looks like the code, for some reason I cannot understand, passes poll() a pollfd structure for each child process...with fd=-1, so that it will be ignored. Uh, why? Why is it passing pollfd structures to the kernel that it *wants* the kernel to ignore? It seems that the code could simply skip over allocating and filling in those pollfd structures and have the exact same effect. As for what changed, well, something changed the number of child processes you're experiencing (load?), or the process fd limit (RLIMIT_NOFILE) for dansguardian changed. Philip Guenther