On May 14, 2013, at 8:21 AM, Gisle Vanem <gva...@broadpark.no> wrote:

> I really don't understand the motivation behind the Win32-code
> for pcap_compile().

I assume the motivation is that pcap_compile() is not thread-safe.

It's no more thread-safe on UN*X, so if the goal is to allow programs to use it 
without having to lock out other threads using it, we should perhaps use a 
pthread mutex if they're available...

...except if you're using Grand Central Dispatch rather than pthreads, in which 
case we should do what's appropriate for GCD.

Then again, sufficiently recent versions of Flex can generate thread-safe 
lexical analyzers; if we can also generate a thread-safe parser (e.g., with 
Bison or some more modern flavor of YACC), we could probably incorporate the 
remaining global variables into a structure and make it thread-safe *if* the 
right tools are used to generate the parser and lexer.

> Why doesn't other libpcap functions needs this critical-section protection
> too?

Because they're thread-safe.

_______________________________________________
tcpdump-workers mailing list
tcpdump-workers@lists.tcpdump.org
https://lists.sandelman.ca/mailman/listinfo/tcpdump-workers

Reply via email to