https://bugs.dragonflybsd.org/https://bugs.dragonflybsd.org/favicon.ico?16293952082007-11-08T01:57:00ZDragonFlyBSD bugtrackerDragonFlyBSD - Bug #836: Bug in socketvar.h?https://bugs.dragonflybsd.org/issues/836?journal_id=38062007-11-08T01:57:00Zdillon
<ul></ul><p>:After reading<br />:http://www.onlamp.com/pub/a/bsd/2007/11/01/whats-new-in-bsd-42.html<br />:(last question) I noticed that we seem to have the same makro.<br />:Though I don't know any details, it looks wrong to me too.<br />:The problematic part is:<br />:<br />:#define ssb_lock(ssb, wf) ((ssb)->ssb_flags & SSB_LOCK ? \<br />: (((wf) == M_WAITOK) ? _ssb_lock(ssb) : EWOULDBLOCK) : \<br />: ((ssb)->ssb_flags |= SSB_LOCK), 0)<br />:<br />:<br />:that in its current form always evaluates to 0.<br />:<br />: Johannes</p>
<pre><code>Interesting. That could account for some of the weird network bugs that<br /> have cropped up over the years. Ours definitely has the same bug.</code></pre>
<pre><code>I think I'll convert it to the inline version mentioned in the article.</code></pre>
<pre><code>-Matt<br /> Matthew Dillon <br /> &lt;<a class="email" href="mailto:dillon@backplane.com">dillon@backplane.com</a>&gt;</code></pre>