mirror of
https://github.com/nginx/nginx.git
synced 2024-12-17 23:27:49 +08:00
784522377e
*) Feature: the Sun Studio 10 C compiler support. *) Feature: the "proxy_upstream_max_fails", "proxy_upstream_fail_timeout", "fastcgi_upstream_max_fails", and "fastcgi_upstream_fail_timeout" directives.
31 lines
703 B
Plaintext
31 lines
703 B
Plaintext
/
|
|
/ Copyright (C) Igor Sysoev
|
|
/
|
|
|
|
/ ngx_atomic_uint_t ngx_atomic_cmp_set(ngx_atomic_t *lock,
|
|
/ ngx_atomic_uint_t old, ngx_atomic_uint_t set);
|
|
/
|
|
/ the arguments are passed in %rdi, %rsi, %rdx
|
|
/ the result is returned in the %rax
|
|
|
|
.inline ngx_atomic_cmp_set,0
|
|
movq %rsi, %rax
|
|
lock
|
|
cmpxchgq %rdx, (%rdi)
|
|
setz %al
|
|
movzbq %al, %rax
|
|
.end
|
|
|
|
|
|
/ ngx_atomic_int_t ngx_atomic_fetch_add(ngx_atomic_t *value,
|
|
/ ngx_atomic_int_t add);
|
|
/
|
|
/ the arguments are passed in %rdi, %rsi
|
|
/ the result is returned in the %rax
|
|
|
|
.inline ngx_atomic_fetch_add,0
|
|
movq %rsi, %rax
|
|
lock
|
|
xaddq %rax, (%rdi)
|
|
.end
|