Re: Make nfct_catch return control to original thread

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]


On Wed, Feb 29, 2012 at 09:38:00AM -0500, Jeremy/starcraft.man wrote:
> Hi,
> 
> I'm a developer currently working at a company using libnetfilter, I
> came in late in development of the product and the code is pretty much
> complete. Due to debugging checks recently enabled, they want to be
> able to unblock and gracefully stop all threads before terminating the
> process. The problem then is that the thread which invokes nfct_catch
> never returns and blocks the thread from cleanly terminating.
>
> pthread_cancel is not an option since we develop on android and that
> platform doesn't stopping threads that way.
> 
> I'm not that familiar with netfilter and am still reading up, from
> what I've read it doesn't seem like I can. Please correct me if I'm
> wrong, but the events that trigger the registered handlers are all
> tied to interfaces being new/updated/down and thus I can't just use a
> handler that returns NFNL_CB_STOP when it next gets an event (at least
> not unless I trigger an event artificially say after setting a boolean
> flag in the registered handler to force it to stop). Is there any sort
> of signal mechanism I'm missing that could be used to force a return
> from the loop of nfnl_catch?

You can set the non-blocking socket via nfct_fd(...) and setsockopt.

Then, check if nfct_catch returns -1 and errno == EAGAIN.
--
To unsubscribe from this list: send the line "unsubscribe netfilter-devel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Netfitler Users]     [LARTC]     [Bugtraq]     [Yosemite Forum]     [Photo]

Powered by Linux