patch-2.4.0-test3 linux/include/linux/spinlock.h

Next file: linux/include/linux/sunrpc/sched.h
Previous file: linux/include/linux/socket.h
Back to the patch index
Back to the overall index

diff -u --recursive --new-file v2.4.0-test2/linux/include/linux/spinlock.h linux/include/linux/spinlock.h
@@ -40,6 +40,8 @@
 
 #if (DEBUG_SPINLOCKS < 1)
 
+#define atomic_dec_and_lock(atomic,lock) atomic_dec_and_test(atomic)
+
 /*
  * Your basic spinlocks, allowing only a single CPU anywhere
  *
@@ -122,4 +124,11 @@
 #define write_unlock(lock)	do { } while(0)
 
 #endif /* !SMP */
+
+/* "lock on reference count zero" */
+#ifndef atomic_dec_and_lock
+#include <asm/atomic.h>
+extern int atomic_dec_and_lock(atomic_t *atomic, spinlock_t *lock);
+#endif
+
 #endif /* __LINUX_SPINLOCK_H */

FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)