Bug #836
closedBug in socketvar.h?
0%
Description
After reading
http://www.onlamp.com/pub/a/bsd/2007/11/01/whats-new-in-bsd-42.html
(last question) I noticed that we seem to have the same makro.
Though I don't know any details, it looks wrong to me too.
The problematic part is:
#define ssb_lock(ssb, wf) ((ssb)->ssb_flags & SSB_LOCK ? \
                (((wf) == M_WAITOK) ? _ssb_lock(ssb) : EWOULDBLOCK) : \
                ((ssb)->ssb_flags |= SSB_LOCK), 0)
that in its current form always evaluates to 0.
Johannes
       Updated by dillon almost 18 years ago
      Updated by dillon almost 18 years ago
      
    
    :After reading
:http://www.onlamp.com/pub/a/bsd/2007/11/01/whats-new-in-bsd-42.html
:(last question) I noticed that we seem to have the same makro.
:Though I don't know any details, it looks wrong to me too.
:The problematic part is:
:
:#define ssb_lock(ssb, wf) ((ssb)->ssb_flags & SSB_LOCK ? \
:                (((wf) == M_WAITOK) ? _ssb_lock(ssb) : EWOULDBLOCK) : \
:                ((ssb)->ssb_flags |= SSB_LOCK), 0)
:
:
:that in its current form always evaluates to 0.
:
: Johannes
Interesting.  That could account for some of the weird network bugs that
    have cropped up over the years.  Ours definitely has the same bug.I think I'll convert it to the inline version mentioned in the article.-Matt
                    Matthew Dillon 
                    <dillon@backplane.com>