lkml.org 
[lkml]   [2001]   [Aug]   [22]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: brlock_is_locked()?
On Wed, 22 Aug 2001, Brad Chapman wrote:

> restart:
> if (brlock_is_locked(BR_NETPROTO_LOCK)) {
> CRITICAL_SECTION
> br_write_unlock_bh(BR_NETPROTO_LOCK);
> }
> else {
> /* Let's get dizzy */
> br_write_lock_bh(BR_NETPROTO_LOCK);
> goto restart;
> }

That code can never work. None of the linux spinlocks track ownership, so
checking if a lock is locked tells you if your process or another has
ownership of the lock. The above pseudo code is going to result in lots
of mangled data.

-ben

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/

\
 
 \ /
  Last update: 2005-03-22 12:57    [W:0.088 / U:0.752 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site