You need do all your forking before you call event_init. libevent on
Solaris uses /dev/poll, and /dev/poll doesn't support children inheriting a
parent's /dev/poll file descriptor.
>From poll(7d):
The /dev/poll driver caches a list of polled file descrip-
tors, which are specific to a process. Therefore, the
/dev/poll file descriptor of a process will be inherited by
its child process, just like any other file descriptors. But
the child process will have very limited access through this
inherited /dev/poll file descriptor. Any attempt to write or
do ioctl by the child process will result in an EACCES
error. The child process should close the inherited
/dev/poll file descriptor and open its own if desired.
Andrew
On 8/24/07, Bob Maccione <[EMAIL PROTECTED]> wrote:
> I have a simple app that I tried to convert to run as a daemon.
>
> This is on Solaris and when i do the fork() I get the following error from
> the event_dispatch()
>
> ioctl: DP_POLL: Permission denied
> event_dispatch received an error of -1
>
> I'm wondering if anyone has seen this before or has working daemon code
> that they would be willing to share..
>
> I've tried the following
>
> if( fork() ) {
> exit(0);
> }
>
> setsid();
>
> if( fork() ) {
> exit(0);
> }
>
> then do the rest of the code....
>
> the 2 forks are recommended in all of the popular texts (i.e. Stevens
> )...
>
> thanks for any help,
> bobm
>
>
>
> _______________________________________________
> Libevent-users mailing list
> [email protected]
> http://monkey.org/mailman/listinfo/libevent-users
>
>
_______________________________________________
Libevent-users mailing list
[email protected]
http://monkey.org/mailman/listinfo/libevent-users