comparison src/os/unix/ngx_x86_mutex.h @ 83:a7e45c45a95c

nginx-0.0.1-2003-04-28-19:06:39 import
author Igor Sysoev <igor@sysoev.ru>
date Mon, 28 Apr 2003 15:06:39 +0000
parents
children
comparison
equal deleted inserted replaced
82:fccdb921e8b8 83:a7e45c45a95c
1
2
3 typedef struct {
4 int lock;
5 } ngx_mutex_t;
6
7
8 static inline int ngx_spin_lock(ngx_mutex_t *m, int count)
9 {
10 int lock;
11
12 __asm__ __volatile("
13
14 get_lock:
15 mov $1, %1
16 xchg %1, %2
17 cmp $0, %1
18 jne spin_lock
19
20 spin_lock:
21 cmp $0, %3
22 je failed
23
24 dec %3
25 rep nop
26 cmp $0, %2
27 jne spin_lock
28
29 ": "=q" (lock), "m" (m->lock), "q" (count));
30 }