[arch-general] Event loop problem
William Castro
castrwilliam at gmail.com
Tue Jul 15 22:30:28 EDT 2014
Perhaps this is involved with systemd and IPC namespaces?
On Tue, Jul 15, 2014 at 3:32 PM, Brian Wood <woodbrian77 at gmail.com> wrote:
> I've been having a problem related to epoll_ctl() lately.
> I have a 3-tier system:
>
> 1. back tier (tcp server)
> 2. middle tier (udp server)
> 3. front tier
>
> The problem is happening in the back tier.
> If I kill the middle tier with a control-C and then restart it
> (before making any requests via the front tier), the socket
> descriptor (associated with the middle tier) in the back tier
> is 7. But If I first make some requests via the front tier,
> then kill the middle tier and restart it, the socket descriptor
> is 1.
>
> When the socket descriptor is 1, I get an EBADF on
> an epoll_ctl with an op of EPOLL_CTL_MOD.
> It's not on the first call to epoll_ctl that it fails, but the third
> call. My debugging shows that the epfd and fd are the same
> for all three of these calls.
>
> I've tried many things to get the back tier to not give me
> the socket descriptor of 1. I've tried calling daemon(),
> freopen'ing stdin, stdout, and stderr, and a few other
> things. I've tried doing these things only in the parent,
> only in the child and in both. Nothing has worked.
> Any ideas? Thanks.
>
> --
> Brian
> Ebenezer Enterprises
> http://webEbenezer.net
>
More information about the arch-general
mailing list