Mercurial > hg > nginx
annotate src/core/ngx_shmtx.h @ 3992:a1dd9dc754ab
A new fix for the case when ssl_session_cache defined, but ssl is not
enabled in any server. The previous r1033 does not help when unused zone
becomes used after reconfiguration, so it is backed out.
The initial thought was to make SSL modules independed from SSL implementation
and to keep OpenSSL code dependance as much as in separate files.
author | Igor Sysoev <igor@sysoev.ru> |
---|---|
date | Thu, 04 Aug 2011 11:12:30 +0000 |
parents | 0daede16d68b |
children | 3f6040cd731e 4919fb357a5d |
rev | line source |
---|---|
611 | 1 |
2 /* | |
3 * Copyright (C) Igor Sysoev | |
4 */ | |
5 | |
6 | |
7 #ifndef _NGX_SHMTX_H_INCLUDED_ | |
8 #define _NGX_SHMTX_H_INCLUDED_ | |
9 | |
10 | |
11 #include <ngx_config.h> | |
12 #include <ngx_core.h> | |
13 | |
14 | |
15 typedef struct { | |
16 #if (NGX_HAVE_ATOMIC_OPS) | |
17 ngx_atomic_t *lock; | |
3909
0daede16d68b
use POSIX semaphores in shmtx instead of sched_yield()
Igor Sysoev <igor@sysoev.ru>
parents:
2563
diff
changeset
|
18 #if (NGX_HAVE_POSIX_SEM) |
0daede16d68b
use POSIX semaphores in shmtx instead of sched_yield()
Igor Sysoev <igor@sysoev.ru>
parents:
2563
diff
changeset
|
19 ngx_uint_t semaphore; |
0daede16d68b
use POSIX semaphores in shmtx instead of sched_yield()
Igor Sysoev <igor@sysoev.ru>
parents:
2563
diff
changeset
|
20 sem_t sem; |
0daede16d68b
use POSIX semaphores in shmtx instead of sched_yield()
Igor Sysoev <igor@sysoev.ru>
parents:
2563
diff
changeset
|
21 #endif |
611 | 22 #else |
23 ngx_fd_t fd; | |
24 u_char *name; | |
25 #endif | |
3909
0daede16d68b
use POSIX semaphores in shmtx instead of sched_yield()
Igor Sysoev <igor@sysoev.ru>
parents:
2563
diff
changeset
|
26 ngx_uint_t spin; |
611 | 27 } ngx_shmtx_t; |
28 | |
29 | |
860
201d017ea470
slab allocator in shared memory
Igor Sysoev <igor@sysoev.ru>
parents:
611
diff
changeset
|
30 ngx_int_t ngx_shmtx_create(ngx_shmtx_t *mtx, void *addr, u_char *name); |
611 | 31 void ngx_shmtx_destory(ngx_shmtx_t *mtx); |
3909
0daede16d68b
use POSIX semaphores in shmtx instead of sched_yield()
Igor Sysoev <igor@sysoev.ru>
parents:
2563
diff
changeset
|
32 ngx_uint_t ngx_shmtx_trylock(ngx_shmtx_t *mtx); |
0daede16d68b
use POSIX semaphores in shmtx instead of sched_yield()
Igor Sysoev <igor@sysoev.ru>
parents:
2563
diff
changeset
|
33 void ngx_shmtx_lock(ngx_shmtx_t *mtx); |
0daede16d68b
use POSIX semaphores in shmtx instead of sched_yield()
Igor Sysoev <igor@sysoev.ru>
parents:
2563
diff
changeset
|
34 void ngx_shmtx_unlock(ngx_shmtx_t *mtx); |
611 | 35 |
36 | |
37 #endif /* _NGX_SHMTX_H_INCLUDED_ */ |