Mercurial > hg > nginx-quic
view src/os/unix/ngx_sunpro_amd64.il @ 2111:4300c587db9e stable-0.5
r1901, r1902, r2032 merge:
bugfixes in channel:
*) avoid endless loop if epoll is used
*) use CMSG_LEN(), this fixes an alert
"sendmsg() failed (9: Bad file descriptor)" on some 64-bit platforms
*) read channel until EAGAIN
author | Igor Sysoev <igor@sysoev.ru> |
---|---|
date | Mon, 07 Jul 2008 11:58:55 +0000 |
parents | b766d9c0a2be |
children | bfd1912e55a9 |
line wrap: on
line source
/ / 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 / ngx_cpu_pause() .inline ngx_cpu_pause,0 pause .end