From bf8c01bfcd015d43cfbcb893e48c6a83a95c91ec Mon Sep 17 00:00:00 2001 From: Ben Magistro Date: Sun, 17 Apr 2022 09:45:02 -0400 Subject: Drop nginx Nginx is not part of the core library being developed and needs to be moved to its own repository to allow it to be more easily maintained. Signed-off-by: Ben Magistro Change-Id: I5639e84ba0564ccd49ffcffa7ec9fcd57827bd6d --- app/nginx/src/os/unix/ngx_atomic.h | 313 ------------------------------------- 1 file changed, 313 deletions(-) delete mode 100644 app/nginx/src/os/unix/ngx_atomic.h (limited to 'app/nginx/src/os/unix/ngx_atomic.h') diff --git a/app/nginx/src/os/unix/ngx_atomic.h b/app/nginx/src/os/unix/ngx_atomic.h deleted file mode 100644 index 74b8b7f..0000000 --- a/app/nginx/src/os/unix/ngx_atomic.h +++ /dev/null @@ -1,313 +0,0 @@ - -/* - * Copyright (C) Igor Sysoev - * Copyright (C) Nginx, Inc. - */ - - -#ifndef _NGX_ATOMIC_H_INCLUDED_ -#define _NGX_ATOMIC_H_INCLUDED_ - - -#include -#include - - -#if (NGX_HAVE_LIBATOMIC) - -#define AO_REQUIRE_CAS -#include - -#define NGX_HAVE_ATOMIC_OPS 1 - -typedef long ngx_atomic_int_t; -typedef AO_t ngx_atomic_uint_t; -typedef volatile ngx_atomic_uint_t ngx_atomic_t; - -#if (NGX_PTR_SIZE == 8) -#define NGX_ATOMIC_T_LEN (sizeof("-9223372036854775808") - 1) -#else -#define NGX_ATOMIC_T_LEN (sizeof("-2147483648") - 1) -#endif - -#define ngx_atomic_cmp_set(lock, old, new) \ - AO_compare_and_swap(lock, old, new) -#define ngx_atomic_fetch_add(value, add) \ - AO_fetch_and_add(value, add) -#define ngx_memory_barrier() AO_nop() -#define ngx_cpu_pause() - - -#elif (NGX_DARWIN_ATOMIC) - -/* - * use Darwin 8 atomic(3) and barrier(3) operations - * optimized at run-time for UP and SMP - */ - -#include - -/* "bool" conflicts with perl's CORE/handy.h */ -#if 0 -#undef bool -#endif - - -#define NGX_HAVE_ATOMIC_OPS 1 - -#if (NGX_PTR_SIZE == 8) - -typedef int64_t ngx_atomic_int_t; -typedef uint64_t ngx_atomic_uint_t; -#define NGX_ATOMIC_T_LEN (sizeof("-9223372036854775808") - 1) - -#define ngx_atomic_cmp_set(lock, old, new) \ - OSAtomicCompareAndSwap64Barrier(old, new, (int64_t *) lock) - -#define ngx_atomic_fetch_add(value, add) \ - (OSAtomicAdd64(add, (int64_t *) value) - add) - -#else - -typedef int32_t ngx_atomic_int_t; -typedef uint32_t ngx_atomic_uint_t; -#define NGX_ATOMIC_T_LEN (sizeof("-2147483648") - 1) - -#define ngx_atomic_cmp_set(lock, old, new) \ - OSAtomicCompareAndSwap32Barrier(old, new, (int32_t *) lock) - -#define ngx_atomic_fetch_add(value, add) \ - (OSAtomicAdd32(add, (int32_t *) value) - add) - -#endif - -#define ngx_memory_barrier() OSMemoryBarrier() - -#define ngx_cpu_pause() - -typedef volatile ngx_atomic_uint_t ngx_atomic_t; - - -#elif (NGX_HAVE_GCC_ATOMIC) - -/* GCC 4.1 builtin atomic operations */ - -#define NGX_HAVE_ATOMIC_OPS 1 - -typedef long ngx_atomic_int_t; -typedef unsigned long ngx_atomic_uint_t; - -#if (NGX_PTR_SIZE == 8) -#define NGX_ATOMIC_T_LEN (sizeof("-9223372036854775808") - 1) -#else -#define NGX_ATOMIC_T_LEN (sizeof("-2147483648") - 1) -#endif - -typedef volatile ngx_atomic_uint_t ngx_atomic_t; - - -#define ngx_atomic_cmp_set(lock, old, set) \ - __sync_bool_compare_and_swap(lock, old, set) - -#define ngx_atomic_fetch_add(value, add) \ - __sync_fetch_and_add(value, add) - -#define ngx_memory_barrier() __sync_synchronize() - -#if ( __i386__ || __i386 || __amd64__ || __amd64 ) -#define ngx_cpu_pause() __asm__ ("pause") -#else -#define ngx_cpu_pause() -#endif - - -#elif ( __i386__ || __i386 ) - -typedef int32_t ngx_atomic_int_t; -typedef uint32_t ngx_atomic_uint_t; -typedef volatile ngx_atomic_uint_t ngx_atomic_t; -#define NGX_ATOMIC_T_LEN (sizeof("-2147483648") - 1) - - -#if ( __SUNPRO_C ) - -#define NGX_HAVE_ATOMIC_OPS 1 - -ngx_atomic_uint_t -ngx_atomic_cmp_set(ngx_atomic_t *lock, ngx_atomic_uint_t old, - ngx_atomic_uint_t set); - -ngx_atomic_int_t -ngx_atomic_fetch_add(ngx_atomic_t *value, ngx_atomic_int_t add); - -/* - * Sun Studio 12 exits with segmentation fault on '__asm ("pause")', - * so ngx_cpu_pause is declared in src/os/unix/ngx_sunpro_x86.il - */ - -void -ngx_cpu_pause(void); - -/* the code in src/os/unix/ngx_sunpro_x86.il */ - -#define ngx_memory_barrier() __asm (".volatile"); __asm (".nonvolatile") - - -#else /* ( __GNUC__ || __INTEL_COMPILER ) */ - -#define NGX_HAVE_ATOMIC_OPS 1 - -#include "ngx_gcc_atomic_x86.h" - -#endif - - -#elif ( __amd64__ || __amd64 ) - -typedef int64_t ngx_atomic_int_t; -typedef uint64_t ngx_atomic_uint_t; -typedef volatile ngx_atomic_uint_t ngx_atomic_t; -#define NGX_ATOMIC_T_LEN (sizeof("-9223372036854775808") - 1) - - -#if ( __SUNPRO_C ) - -#define NGX_HAVE_ATOMIC_OPS 1 - -ngx_atomic_uint_t -ngx_atomic_cmp_set(ngx_atomic_t *lock, ngx_atomic_uint_t old, - ngx_atomic_uint_t set); - -ngx_atomic_int_t -ngx_atomic_fetch_add(ngx_atomic_t *value, ngx_atomic_int_t add); - -/* - * Sun Studio 12 exits with segmentation fault on '__asm ("pause")', - * so ngx_cpu_pause is declared in src/os/unix/ngx_sunpro_amd64.il - */ - -void -ngx_cpu_pause(void); - -/* the code in src/os/unix/ngx_sunpro_amd64.il */ - -#define ngx_memory_barrier() __asm (".volatile"); __asm (".nonvolatile") - - -#else /* ( __GNUC__ || __INTEL_COMPILER ) */ - -#define NGX_HAVE_ATOMIC_OPS 1 - -#include "ngx_gcc_atomic_amd64.h" - -#endif - - -#elif ( __sparc__ || __sparc || __sparcv9 ) - -#if (NGX_PTR_SIZE == 8) - -typedef int64_t ngx_atomic_int_t; -typedef uint64_t ngx_atomic_uint_t; -#define NGX_ATOMIC_T_LEN (sizeof("-9223372036854775808") - 1) - -#else - -typedef int32_t ngx_atomic_int_t; -typedef uint32_t ngx_atomic_uint_t; -#define NGX_ATOMIC_T_LEN (sizeof("-2147483648") - 1) - -#endif - -typedef volatile ngx_atomic_uint_t ngx_atomic_t; - - -#if ( __SUNPRO_C ) - -#define NGX_HAVE_ATOMIC_OPS 1 - -#include "ngx_sunpro_atomic_sparc64.h" - - -#else /* ( __GNUC__ || __INTEL_COMPILER ) */ - -#define NGX_HAVE_ATOMIC_OPS 1 - -#include "ngx_gcc_atomic_sparc64.h" - -#endif - - -#elif ( __powerpc__ || __POWERPC__ ) - -#define NGX_HAVE_ATOMIC_OPS 1 - -#if (NGX_PTR_SIZE == 8) - -typedef int64_t ngx_atomic_int_t; -typedef uint64_t ngx_atomic_uint_t; -#define NGX_ATOMIC_T_LEN (sizeof("-9223372036854775808") - 1) - -#else - -typedef int32_t ngx_atomic_int_t; -typedef uint32_t ngx_atomic_uint_t; -#define NGX_ATOMIC_T_LEN (sizeof("-2147483648") - 1) - -#endif - -typedef volatile ngx_atomic_uint_t ngx_atomic_t; - - -#include "ngx_gcc_atomic_ppc.h" - -#endif - - -#if !(NGX_HAVE_ATOMIC_OPS) - -#define NGX_HAVE_ATOMIC_OPS 0 - -typedef int32_t ngx_atomic_int_t; -typedef uint32_t ngx_atomic_uint_t; -typedef volatile ngx_atomic_uint_t ngx_atomic_t; -#define NGX_ATOMIC_T_LEN (sizeof("-2147483648") - 1) - - -static ngx_inline ngx_atomic_uint_t -ngx_atomic_cmp_set(ngx_atomic_t *lock, ngx_atomic_uint_t old, - ngx_atomic_uint_t set) -{ - if (*lock == old) { - *lock = set; - return 1; - } - - return 0; -} - - -static ngx_inline ngx_atomic_int_t -ngx_atomic_fetch_add(ngx_atomic_t *value, ngx_atomic_int_t add) -{ - ngx_atomic_int_t old; - - old = *value; - *value += add; - - return old; -} - -#define ngx_memory_barrier() -#define ngx_cpu_pause() - -#endif - - -void ngx_spinlock(ngx_atomic_t *lock, ngx_atomic_int_t value, 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_ */ -- cgit 1.2.3-korg