On Monday 23 July 2007, Lee Brotherston wrote: > Apologies if this is an area which has been covered somewhere, but my > google skills don't seem to have uncovered it. > > I am working with the pfil interface and use pfil_add_hook to process > or drop a number of packets. However as my test equipment is only > single processor I have been unable to test in an SMP environment. > So, the crux of my query is... > > Does the SMP setup in FreeBSD 6.x & 7.x, leave the possibility that > the two instances of the function named in the pfil_add_hook call, may > be running at once? Or is there some kind of locking which prevents > this? My reason for asking is that there is a state table which I do > not want altering in two places at once, and so I will impliment > internal locks. > > (If possible I'd appreciate being CC'd on replies as I'm not currently > subscribed).
pfil(9) is protected by rw_locks (CURRENT) or a handrolled version of reader/writer locks (RELENG_6) and thus does not prevent more than one thread in the hook function at once. You have to roll your own locking if required. -- /"\ Best regards, | [EMAIL PROTECTED] \ / Max Laier | ICQ #67774661 X http://pf4freebsd.love2party.net/ | [EMAIL PROTECTED] / \ ASCII Ribbon Campaign | Against HTML Mail and News
signature.asc
Description: This is a digitally signed message part.
