Mercurial > hg > nginx-vendor-current
annotate src/os/unix/ngx_sunpro_x86.il @ 664:f5b859b2f097 NGINX_1_1_16
nginx 1.1.16
*) Change: the simultaneous subrequest limit has been raised to 200.
*) Feature: the "from" parameter of the "disable_symlinks" directive.
*) Feature: the "return" and "error_page" directives can be used to
return 307 redirections.
*) Bugfix: a segmentation fault might occur in a worker process if the
"resolver" directive was used and there was no "error_log" directive
specified at global level.
Thanks to Roman Arutyunyan.
*) Bugfix: a segmentation fault might occur in a worker process if the
"proxy_http_version 1.1" or "fastcgi_keep_conn on" directives were
used.
*) Bugfix: memory leaks.
Thanks to Lanshun Zhou.
*) Bugfix: in the "disable_symlinks" directive.
*) Bugfix: on ZFS filesystem disk cache size might be calculated
incorrectly; the bug had appeared in 1.0.1.
*) Bugfix: nginx could not be built by the icc 12.1 compiler.
*) Bugfix: nginx could not be built by gcc on Solaris; the bug had
appeared in 1.1.15.
author | Igor Sysoev <http://sysoev.ru> |
---|---|
date | Wed, 29 Feb 2012 00:00:00 +0400 |
parents | d0f7a625f27c |
children |
rev | line source |
---|---|
110 | 1 / |
2 / Copyright (C) Igor Sysoev | |
660 | 3 / Copyright (C) Nginx, Inc. |
110 | 4 / |
5 | |
6 / ngx_atomic_uint_t ngx_atomic_cmp_set(ngx_atomic_t *lock, | |
7 / ngx_atomic_uint_t old, ngx_atomic_uint_t set); | |
8 / | |
488 | 9 / the arguments are passed on stack (%esp), 4(%esp), 8(%esp) |
110 | 10 |
11 .inline ngx_atomic_cmp_set,0 | |
12 movl (%esp), %ecx | |
13 movl 4(%esp), %eax | |
14 movl 8(%esp), %edx | |
15 lock | |
16 cmpxchgl %edx, (%ecx) | |
17 setz %al | |
18 movzbl %al, %eax | |
19 .end | |
20 | |
21 | |
22 / ngx_atomic_int_t ngx_atomic_fetch_add(ngx_atomic_t *value, | |
23 / ngx_atomic_int_t add); | |
24 / | |
488 | 25 / the arguments are passed on stack (%esp), 4(%esp) |
110 | 26 |
27 .inline ngx_atomic_fetch_add,0 | |
28 movl (%esp), %ecx | |
29 movl 4(%esp), %eax | |
30 lock | |
31 xaddl %eax, (%ecx) | |
32 .end | |
320 | 33 |
34 | |
35 / ngx_cpu_pause() | |
488 | 36 / |
37 / the "rep; nop" is used instead of "pause" to avoid the "[ PAUSE ]" hardware | |
38 / capability added by linker because Solaris/i386 does not know about it: | |
39 / | |
40 / ld.so.1: nginx: fatal: hardware capability unsupported: 0x2000 [ PAUSE ] | |
320 | 41 |
42 .inline ngx_cpu_pause,0 | |
488 | 43 rep; nop |
320 | 44 .end |