diff options
Diffstat (limited to 'app/nginx/src/core/ngx_spinlock.c')
-rw-r--r-- | app/nginx/src/core/ngx_spinlock.c | 53 |
1 files changed, 0 insertions, 53 deletions
diff --git a/app/nginx/src/core/ngx_spinlock.c b/app/nginx/src/core/ngx_spinlock.c deleted file mode 100644 index 9c93afa..0000000 --- a/app/nginx/src/core/ngx_spinlock.c +++ /dev/null @@ -1,53 +0,0 @@ - -/* - * Copyright (C) Igor Sysoev - * Copyright (C) Nginx, Inc. - */ - - -#include <ngx_config.h> -#include <ngx_core.h> - - -void -ngx_spinlock(ngx_atomic_t *lock, ngx_atomic_int_t value, ngx_uint_t spin) -{ - -#if (NGX_HAVE_ATOMIC_OPS) - - ngx_uint_t i, n; - - for ( ;; ) { - - if (*lock == 0 && ngx_atomic_cmp_set(lock, 0, value)) { - return; - } - - if (ngx_ncpu > 1) { - - for (n = 1; n < spin; n <<= 1) { - - for (i = 0; i < n; i++) { - ngx_cpu_pause(); - } - - if (*lock == 0 && ngx_atomic_cmp_set(lock, 0, value)) { - return; - } - } - } - - ngx_sched_yield(); - } - -#else - -#if (NGX_THREADS) - -#error ngx_spinlock() or ngx_atomic_cmp_set() are not defined ! - -#endif - -#endif - -} |