bind9/lib/isc
Ondřej Surý 88227ea665
Use release memory ordering when incrementing reference counter
As the relaxed memory ordering doesn't ensure any memory
synchronization, it is possible that the increment will succeed even
in the case when it should not - there is a race between
atomic_fetch_sub(..., acq_rel) and atomic_fetch_add(..., relaxed).
Only the result is consistent, but the previous value for both calls
could be same when both calls are executed at the same time.
2024-09-30 11:03:01 +02:00
..
include Use release memory ordering when incrementing reference counter 2024-09-30 11:03:01 +02:00
netmgr Limit the outgoing UDP send queue size 2024-09-17 14:02:03 +00:00
.gitignore Add support for User Statically Defined Tracing (USDT) probes 2023-08-21 18:39:53 +02:00
ascii.c
assertions.c
async.c Cleanup the __tsan_acquire/__tsan_release 2023-07-28 08:59:08 +02:00
async_p.h Change the isc_async API to use cds_wfcqueue internally 2023-05-12 14:16:25 +02:00
backtrace.c Convert all categories and modules into static lists 2024-08-20 12:50:39 +00:00
base32.c
base64.c
commandline.c Apply the isc_mem_cget semantic patch 2023-08-31 22:08:35 +02:00
condition.c
counter.c
dir.c
entropy.c
errno.c
errno2result.c Translate POSIX errorcode EROFS to ISC_R_NOPERM 2023-06-14 13:12:45 +01:00
errno2result.h
error.c
file.c Remove logging context (isc_log_t) from the public namespace 2024-08-20 12:50:39 +00:00
fips.c
getaddresses.c
hash.c Implement incremental version of isc_hash32 and isc_hash64 2023-09-12 16:17:06 +02:00
hashmap.c Skip already rehashed positions in the old hashmap table 2024-08-14 15:19:04 +00:00
heap.c Apply the isc_mem_cget semantic patch 2023-08-31 22:08:35 +02:00
helper.c Add isc_helper API that adds 1:1 thread for each loop 2024-09-12 12:09:45 +00:00
hex.c
histo.c Check for atomic operations consistency in checklibs.sh 2024-01-03 17:04:31 +00:00
hmac.c NetBSD has added 'hmac' to libc so rename out uses of hmac 2023-12-13 22:27:38 +00:00
ht.c Fix case insensitive matching in isc_ht hash table implementation 2024-02-11 09:36:56 +01:00
httpd.c Properly attach/detach isc_httpd in case read ends earlier than send 2024-05-15 12:22:10 +02:00
interfaceiter.c Remove code to read and parse /proc/net/if_inet6 on Linux 2024-08-19 09:42:55 +00:00
iterated_hash.c Remove checks for OPENSSL_API_LEVEL define 2024-08-06 15:17:48 +02:00
jemalloc_shim.h Stop using malloc_usable_size and malloc_size 2024-08-26 15:00:44 +00:00
job.c Add tracing probes to the isc_job unit 2023-08-21 18:39:53 +02:00
job_p.h Use proper padding instead of using alignas() 2024-02-08 10:54:35 +01:00
lex.c
lib.c Use single logging context for everything 2024-08-20 12:50:39 +00:00
log.c Log the rcode returned to for a query 2024-09-19 21:44:06 +00:00
loop.c Revert "Double the number of threadpool threads" 2024-09-20 14:31:25 +02:00
loop_p.h Add isc_helper API that adds 1:1 thread for each loop 2024-09-12 12:09:45 +00:00
Makefile.am Add isc_helper API that adds 1:1 thread for each loop 2024-09-12 12:09:45 +00:00
managers.c
md.c Call ERR_clear_error on EVP_MD_fetch or EVP_##alg error 2023-09-06 00:28:56 +00:00
mem.c Call rcu_barrier() in the isc_mem_destroy() just once 2024-08-05 10:24:47 +00:00
mem_p.h
meminfo.c Use libuv functions to get memory available to BIND 9 2024-09-24 15:51:14 +02:00
mutex.c Fix PTHREAD_MUTEX_ADAPTIVE_NP and PTHREAD_MUTEX_ERRORCHECK_NP usage 2024-08-05 07:31:39 +00:00
mutex_p.h
mutexblock.c
net.c Cleanup the sysctlbyname and friends configure checks and ifdefs 2024-09-21 12:38:33 +02:00
netaddr.c Update the source code formatting using clang-format-17 2023-10-17 17:47:46 +02:00
netscope.c
nonce.c
openssl_shim.c Move the dst__openssl_toresult to isc_tls unit 2024-08-08 11:59:41 +02:00
openssl_shim.h Move the dst__openssl_toresult to isc_tls unit 2024-08-08 11:59:41 +02:00
os.c Add support to read number of online CPUs on OpenBSD 2024-09-21 12:38:33 +02:00
os_p.h
parseint.c
picohttpparser.c Update sources to Clang 18 formatting 2024-04-23 13:11:52 +02:00
picohttpparser.h
portset.c
probes.d Add tracing probes to the isc_job unit 2023-08-21 18:39:53 +02:00
proxy2.c Add PROXYv2 header utilities 2023-12-06 15:15:24 +02:00
quota.c Clarify that cds_wfcq_dequeue_blocking() doesn't block if empty 2024-08-05 07:30:10 +00:00
radix.c Refactor isc_radix_create to return void 2023-10-13 14:44:40 +02:00
random.c Move the isc_random API initialization to the thread_local variable 2023-04-27 12:38:53 +02:00
ratelimiter.c Improve isc_refcount with initializer and implicit destroy 2023-09-24 10:08:56 +02:00
regex.c
region.c
result.c Apply SKR bundle on rekey 2024-08-22 08:21:52 +02:00
rwlock.c Add tracing probes to the custom isc_rwlock implementation 2023-08-21 18:39:53 +02:00
safe.c
serial.c
signal.c
sockaddr.c Add helper function isc_sockaddr_disabled 2024-06-03 18:34:31 +10:00
stats.c Return the old counter value in isc_stats_increment 2024-05-10 12:08:52 +03:00
stdio.c Apply the SET_IF_NOT_NULL() semantic patch 2023-08-15 12:21:41 +02:00
stdtime.c Change the NS_PER_SEC (and friends) from enum to static const 2024-08-19 09:08:55 +00:00
string.c
symtab.c Apply the isc_mem_cget semantic patch 2023-08-31 22:08:35 +02:00
syslog.c
tests
thread.c Cleanup the __tsan_acquire/__tsan_release 2023-07-28 08:59:08 +02:00
tid.c Make dns_dispatch bound to threads 2023-09-16 07:32:17 +02:00
time.c Change the NS_PER_SEC (and friends) from enum to static const 2024-08-19 09:08:55 +00:00
timer.c use a thread-local variable to get the current running loop 2024-04-02 10:35:56 +02:00
tls.c Convert all categories and modules into static lists 2024-08-20 12:50:39 +00:00
tm.c
url.c Update the source code formatting using clang-format-17 2023-10-17 17:47:46 +02:00
utf8.c
uv.c Add isc_mem_callocate() for safer array allocation 2023-06-27 12:38:09 +02:00
work.c
xml.c Use xmlMemSetup() instead of xmlGcMemSetup() 2024-04-18 10:53:31 +02:00