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 over 16 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>