bind9/lib/isc
Ondřej Surý c1821ccf92
Call rcu_barrier() five times in the isc__mem_destroy()
Because rcu_barrier() needs to be called as many times as the number of
nested call_rcu() calls (call_rcu() calls made from call_rcu thread),
and currently there's no mechanism to detect whether there are more
call_rcu callbacks scheduled, we simply call the rcu_barrier() multiple
times.  The overhead is negligible and it prevents rare assertion
failures caused by the check for memory leaks in isc__mem_destroy().
2023-07-31 15:51:15 +02:00
..
include Cleanup the __tsan_acquire/__tsan_release 2023-07-28 08:59:08 +02:00
netmgr Use isc_mem_callocate() in http_calloc() 2023-06-27 12:38:09 +02:00
.gitignore [master] update gitignore files; use rev-parse to get srcid 2014-06-17 13:49:30 -07:00
aes.c Remove EVP_CIPHER_CTX_new() and EVP_CIPHER_CTX_free() shims 2022-03-02 10:48:09 +00:00
ascii.c Consolidate some ASCII tables in isc/ascii and isc/hex 2022-09-12 12:18:57 +01:00
assertions.c Ad-hoc backtrace logging with isc_backtrace_log() 2023-03-29 10:47:53 +00:00
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 Ad-hoc backtrace logging with isc_backtrace_log() 2023-03-29 10:47:53 +00:00
base32.c Silence uninitialized value false positives 2023-03-08 22:40:03 +00:00
base64.c Remove use of the inline keyword used as suggestion to compiler 2022-03-25 08:33:43 +01:00
commandline.c Remove do-nothing header <isc/print.h> 2023-02-15 16:44:47 +00:00
condition.c De-duplicate some calls to strerror_r() 2022-10-17 11:58:26 +01:00
counter.c Update the copyright information in all files in the repository 2022-01-11 09:05:02 +01:00
crc64.c Update the copyright information in all files in the repository 2022-01-11 09:05:02 +01:00
dir.c Remove do-nothing header <isc/print.h> 2023-02-15 16:44:47 +00:00
entropy.c Switch the CSPRNG function from RAND_bytes() to uv_random() 2022-09-26 15:13:11 +02:00
errno.c Update the copyright information in all files in the repository 2022-01-11 09:05:02 +01:00
errno2result.c Translate POSIX errorcode EROFS to ISC_R_NOPERM 2023-06-14 13:12:45 +01:00
errno2result.h Update the copyright information in all files in the repository 2022-01-11 09:05:02 +01:00
error.c Remove do-nothing header <isc/print.h> 2023-02-15 16:44:47 +00:00
file.c Remove do-nothing header <isc/print.h> 2023-02-15 16:44:47 +00:00
fips.c Define isc_fips_mode() and isc_fips_set_mode() 2023-04-03 12:05:28 +10:00
getaddresses.c Move bind9_getaddresses() to isc_getaddresses() 2023-02-21 13:12:26 +00:00
hash.c Improve reporting for pthread_once errors 2022-10-14 16:39:21 +02:00
hashmap.c Replace __attribute__((unused)) with ISC_ATTR_UNUSED attribute macro 2023-03-30 23:29:25 +02:00
heap.c Check for overflow when resizing a heap 2023-06-27 12:38:09 +02:00
hex.c Consolidate some ASCII tables in isc/ascii and isc/hex 2022-09-12 12:18:57 +01:00
histo.c A macro for the size of a struct with a flexible array member 2023-05-12 20:48:31 +01:00
hmac.c Fix memory leak in isc_hmac_init 2023-02-26 22:56:07 +00:00
ht.c A macro for the size of a struct with a flexible array member 2023-05-12 20:48:31 +01:00
httpd.c Improve statschannel HTTP Connection: header protocol conformance 2023-06-15 17:03:09 +01:00
interfaceiter.c Remove do-nothing header <isc/print.h> 2023-02-15 16:44:47 +00:00
iterated_hash.c Require C11 thread_local keyword and <threads.h> header 2023-02-08 21:33:23 +01:00
jemalloc_shim.h Check for overflow in jemalloc_shim 2023-06-27 12:38:09 +02:00
job.c Change the isc_async API to use cds_wfcqueue internally 2023-05-12 14:16:25 +02:00
job_p.h Change the isc_async API to use cds_wfcqueue internally 2023-05-12 14:16:25 +02:00
lex.c Remove do-nothing header <isc/print.h> 2023-02-15 16:44:47 +00:00
lib.c Fixes for liburcu-qsbr 2023-05-15 20:49:42 +00:00
log.c Re-write remove_old_tsversions and greatest_version 2023-05-03 09:12:34 +02:00
loop.c Pin dns_request to the associated loop 2023-07-28 09:01:22 +02:00
loop_p.h Remove isc_qsbr (we are using liburcu instead) 2023-05-12 20:48:31 +01:00
Makefile.am Add <isc/overflow.h> for checked mul, add, and sub 2023-06-27 12:38:09 +02:00
managers.c remove isc_task completely 2023-02-16 18:35:32 +01:00
md.c Handle MD5 not being supported by lib crypto 2023-04-03 12:44:27 +10:00
mem.c Call rcu_barrier() five times in the isc__mem_destroy() 2023-07-31 15:51:15 +02:00
mem_p.h Update the copyright information in all files in the repository 2022-01-11 09:05:02 +01:00
meminfo.c Update the copyright information in all files in the repository 2022-01-11 09:05:02 +01:00
mutex.c Remove do-nothing header <isc/print.h> 2023-02-15 16:44:47 +00:00
mutex_p.h Use library constructor to create default mutex attr once 2022-07-13 13:19:32 +02:00
mutexblock.c Update the copyright information in all files in the repository 2022-01-11 09:05:02 +01:00
net.c Remove do-nothing header <isc/netdb.h> 2023-02-15 16:44:47 +00:00
netaddr.c Replace DE_CONST(k, v) with v = UNCONST(k) macro 2023-04-03 10:25:56 +00:00
netscope.c Update the copyright information in all files in the repository 2022-01-11 09:05:02 +01:00
nonce.c Switch the CSPRNG function from RAND_bytes() to uv_random() 2022-09-26 15:13:11 +02:00
openssl_shim.c Do not provide a shim for SSL_SESSION_is_resumable() 2022-05-23 18:25:18 +03:00
openssl_shim.h Do not provide a shim for SSL_SESSION_is_resumable() 2022-05-23 18:25:18 +03:00
os.c Add isc_os_umask() function to get current umask 2023-03-31 12:52:59 +00:00
os_p.h Update the copyright information in all files in the repository 2022-01-11 09:05:02 +01:00
parseint.c Update the copyright information in all files in the repository 2022-01-11 09:05:02 +01:00
picohttpparser.c Update sources to Clang 15 formatting 2022-11-29 08:54:34 +01:00
picohttpparser.h Add picohttpparser.{c.h} from https://github.com/h2o/picohttpparser 2022-10-14 11:26:54 +02:00
portset.c Use designated initializers instead of memset()/MEM_ZERO for structs 2022-10-05 16:44:05 +02:00
quota.c Cleanup the __tsan_acquire/__tsan_release 2023-07-28 08:59:08 +02:00
radix.c Move isc_mem_put to after node is checked for equality 2023-05-29 01:40:57 +00:00
random.c Move the isc_random API initialization to the thread_local variable 2023-04-27 12:38:53 +02:00
ratelimiter.c remove isc_task completely 2023-02-16 18:35:32 +01:00
regex.c Remove do-nothing header <isc/print.h> 2023-02-15 16:44:47 +00:00
region.c Update the copyright information in all files in the repository 2022-01-11 09:05:02 +01:00
result.c Make isc_result tables smaller 2023-06-15 15:32:04 +02:00
rwlock.c Add the reader-writer synchronization with modified C-RW-WP 2023-02-15 09:30:04 +01:00
safe.c Update the copyright information in all files in the repository 2022-01-11 09:05:02 +01:00
serial.c Update the copyright information in all files in the repository 2022-01-11 09:05:02 +01:00
signal.c Fix a crash when dig or host receive a signal 2023-03-31 09:52:54 +00:00
siphash.c Silence NULL pointer dereferene false positive 2023-04-03 13:32:40 +00:00
sockaddr.c add ns_interface_create() 2023-03-28 12:38:28 -07:00
stats.c Refactor isc_stats_create() and its downstream users to return void 2023-07-27 11:37:44 +02:00
stdio.c Remove do-nothing header <isc/stat.h> 2023-02-15 16:44:47 +00:00
stdtime.c Provide isc_stdtime_now(void) that returns value 2023-03-31 13:16:28 +02:00
string.c Explain <isc/strerr.h> a little more 2023-02-15 16:44:09 +00:00
symtab.c Replace DE_CONST(k, v) with v = UNCONST(k) macro 2023-04-03 10:25:56 +00:00
syslog.c Update the copyright information in all files in the repository 2022-01-11 09:05:02 +01:00
tests Move all the unit tests to /tests/<libname>/ 2022-05-28 14:53:02 -07:00
thread.c Cleanup the __tsan_acquire/__tsan_release 2023-07-28 08:59:08 +02:00
tid.c Make isc_tid() a header-only function 2023-04-12 14:10:37 +02:00
time.c Add <isc/overflow.h> for checked mul, add, and sub 2023-06-27 12:38:09 +02:00
timer.c remove isc_task completely 2023-02-16 18:35:32 +01:00
tls.c Don't check for OPENSSL_cleanup failures by default 2023-04-03 12:44:27 +10:00
tm.c Replace DE_CONST(k, v) with v = UNCONST(k) macro 2023-04-03 10:25:56 +00:00
url.c Update sources to Clang 15 formatting 2022-11-29 08:54:34 +01:00
utf8.c Update sources to Clang 15 formatting 2022-11-29 08:54:34 +01:00
uv.c Add isc_mem_callocate() for safer array allocation 2023-06-27 12:38:09 +02:00
work.c Improve the Userspace RCU integration 2023-04-27 12:38:53 +02:00
xml.c Add autoconf option to enable memory leak detection in libraries 2022-09-27 17:53:04 +02:00