Mercurial > hg > nginx
view src/os/win32/ngx_atomic.h @ 483:621229427cba release-0.1.16
nginx-0.1.16-RELEASE import
*) Bugfix: if the response were transferred by chunks, then on the HEAD
request the final chunk was issued.
*) Bugfix: the "Connection: keep-alive" header were issued, even if the
keepalive_timeout directive forbade the keep-alive use.
*) Bugfix: the errors in the ngx_http_fastcgi_module caused the
segmentation faults.
*) Bugfix: the compressed response encrypted by SSL may not transferred
complete.
*) Bugfix: the TCP-specific TCP_NODELAY, TCP_NOPSUH, and TCP_CORK
options, are not used for the unix domain sockets.
*) Feature: the rewrite directive supports the arguments rewriting.
*) Bugfix: the response code 400 was returned for the POST request with
the "Content-Length: 0" header; the bug had appeared in 0.1.14.
author | Igor Sysoev <igor@sysoev.ru> |
---|---|
date | Tue, 25 Jan 2005 12:27:35 +0000 |
parents | a88a3e4e158f |
children | 975f62e77f02 |
line wrap: on
line source
/* * Copyright (C) Igor Sysoev */ #ifndef _NGX_ATOMIC_H_INCLUDED_ #define _NGX_ATOMIC_H_INCLUDED_ #include <ngx_config.h> #include <ngx_core.h> #define NGX_HAVE_ATOMIC_OPS 1 #define ngx_atomic_inc(p) InterlockedIncrement((long *) p) #if defined( __WATCOMC__ ) || defined( __BORLANDC__ ) || ( _MSC_VER >= 1300 ) /* the new SDK headers */ #define ngx_atomic_cmp_set(lock, old, set) \ (InterlockedCompareExchange((long *) lock, set, old) == old) #else /* the old MS VC6.0SP2 SDK headers */ #define ngx_atomic_cmp_set(lock, old, set) \ (InterlockedCompareExchange((void **) lock, (void *) set, (void *) old) \ == (void *) old) #endif void ngx_spinlock(ngx_atomic_t *lock, ngx_uint_t spin); #define ngx_trylock(lock) (*(lock) == 0 && ngx_atomic_cmp_set(lock, 0, 1)) #define ngx_unlock(lock) *(lock) = 0 #endif /* _NGX_ATOMIC_H_INCLUDED_ */