annotate src/core/ngx_rwlock.h @ 7973:ccb5ff87ab3e

Cache: introduced min_free cache clearing. Clearing cache based on free space left on a file system is expected to allow better disk utilization in some cases, notably when disk space might be also used for something other than nginx cache (including nginx own temporary files) and while loading cache (when cache size might be inaccurate for a while, effectively disabling max_size cache clearing). Based on a patch by Adam Bambuch.
author Maxim Dounin <mdounin@mdounin.ru>
date Mon, 22 Jun 2020 18:03:00 +0300
parents d1816a2696de
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
6101
682d8222c6b1 Core: read/write locks.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1
682d8222c6b1 Core: read/write locks.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
2 /*
682d8222c6b1 Core: read/write locks.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
3 * Copyright (C) Ruslan Ermilov
682d8222c6b1 Core: read/write locks.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
4 * Copyright (C) Nginx, Inc.
682d8222c6b1 Core: read/write locks.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
5 */
682d8222c6b1 Core: read/write locks.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
6
682d8222c6b1 Core: read/write locks.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
7
682d8222c6b1 Core: read/write locks.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
8 #ifndef _NGX_RWLOCK_H_INCLUDED_
682d8222c6b1 Core: read/write locks.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
9 #define _NGX_RWLOCK_H_INCLUDED_
682d8222c6b1 Core: read/write locks.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
10
682d8222c6b1 Core: read/write locks.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
11
682d8222c6b1 Core: read/write locks.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
12 #include <ngx_config.h>
682d8222c6b1 Core: read/write locks.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
13 #include <ngx_core.h>
682d8222c6b1 Core: read/write locks.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
14
682d8222c6b1 Core: read/write locks.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
15
682d8222c6b1 Core: read/write locks.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
16 void ngx_rwlock_wlock(ngx_atomic_t *lock);
682d8222c6b1 Core: read/write locks.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
17 void ngx_rwlock_rlock(ngx_atomic_t *lock);
682d8222c6b1 Core: read/write locks.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
18 void ngx_rwlock_unlock(ngx_atomic_t *lock);
7038
d1816a2696de Introduced ngx_rwlock_downgrade().
Ruslan Ermilov <ru@nginx.com>
parents: 6101
diff changeset
19 void ngx_rwlock_downgrade(ngx_atomic_t *lock);
6101
682d8222c6b1 Core: read/write locks.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
20
682d8222c6b1 Core: read/write locks.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
21
682d8222c6b1 Core: read/write locks.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
22 #endif /* _NGX_RWLOCK_H_INCLUDED_ */