Messages in this thread | | | Date | Wed, 22 Aug 2001 12:33:21 -0400 (EDT) | From | Ben LaHaise <> | Subject | Re: 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/
| |