Commit Graph

11277 Commits

Author SHA1 Message Date
Witold Kręcicki
39cc064238 WiP: direct task sending 2018-09-05 10:02:24 +02:00
Witold Kręcicki
b630c22f20 Revert "Separate write and read locks on socket"
This reverts commit 2f3ae09a69eb6e423a778d5742612ec3c9d14ee1.
2018-09-05 10:02:24 +02:00
Witold Kręcicki
9fddb5e7e4 Separate write and read locks on socket 2018-09-05 10:02:24 +02:00
Witold Kręcicki
d3b1634cc4 Kill socket if it's no longer being referenced 2018-09-05 10:02:24 +02:00
Witold Kręcicki
008b195280 Add runtime detection of SO_REUSEPORT, use it if available (instead of dup) 2018-09-05 10:02:24 +02:00
Witold Kręcicki
c342b72849 Set quantum to 50 2018-09-05 10:02:24 +02:00
Witold Kręcicki
cb44b07acc Add pseudosend 2018-09-05 10:02:24 +02:00
Witold Kręcicki
ad49f7a7c1 It's reasonable not to crash on TCP connections 2018-09-05 10:02:24 +02:00
Witold Kręcicki
b9199418c5 Since we're doing everything in one thread we don't have to unwatch/watch FDs constantly 2018-09-05 10:02:24 +02:00
Witold Kręcicki
3c9ed6a0d8 Multiple network threads (WiP) 2018-09-05 10:02:24 +02:00
Witold Kręcicki
72ef4697cc Do IO after event directly in the network thread, don't schedule it for worker 2018-09-05 10:02:24 +02:00
Witold Kręcicki
2c5d86c89c Remove fdwatch sockets 2018-09-05 10:02:24 +02:00
Witold Kręcicki
68e9479f41 Remove layering from isc_task, isc_app, isc_socket, isc_timer, isc_mem 2018-09-05 09:44:07 +02:00
Witold Kręcicki
72bb25cbad Get rid of isc_bind9 conditional 2018-09-05 09:43:00 +02:00
Tinderbox User
19ed6f8f5a prep 9.13.3 2018-09-04 06:11:38 +00:00
Ondřej Surý
142cb0ab8f Remove already removed headers from the Makefiles 2018-09-03 12:09:52 +02:00
Ondřej Surý
25248eb097 Bail-out early in the for install loops instead of continuing because for masks the error in the middle 2018-09-03 12:05:45 +02:00
Witold Krecicki
d932ec871c Silence some warnings and errors 2018-08-31 13:48:26 -07:00
Mark Andrews
615ebc39e3 remove EDNS workarounds, update legacy test 2018-08-30 21:17:00 -07:00
Mark Andrews
c81c9660f5 add -T ednsformerr/ednsnotimp/ednsrefused 2018-08-30 21:16:59 -07:00
Mark Andrews
050fca2139 increase jitter to cover the entire potential steady state expire range when initially signing the zone 2018-08-30 22:37:08 -04:00
Mark Andrews
455bb23236 fclose origfile and zonefile 2018-08-31 12:13:19 +10:00
Ondřej Surý
e582d085de Fix InterlockedCompareExchange64Acquire -> InterlockedCompareExchangeAcquire64 and variants 2018-08-29 22:23:46 +02:00
Ondřej Surý
d67b07c115 gai_strerror on Windows is just 'char *' 2018-08-29 22:05:09 +02:00
Ondřej Surý
c74ee5bb17 Remove *_loadnew from libdns.def.in 2018-08-29 21:36:27 +02:00
Ondřej Surý
d967e107f6 Remove isc_net_pton and isc_net_ntop from Windows libisc.def.in 2018-08-29 21:21:52 +02:00
Ondřej Surý
aa3e33575d Fixup Windows build after strerr changes 2018-08-29 21:21:52 +02:00
Evan Hunt
1656152d76 Ensure that POSIX strerror_r variant is use even when _GNU_SOURCE is enabled by default 2018-08-29 13:31:28 +02:00
Ondřej Surý
cacd21c075 Enable system extensions macros using AC_USE_SYSTEM_EXTENSIONS
and remove handcrafted code that enabled __EXTENSIONS__ and _GNU_SOURCE
2018-08-29 13:31:27 +02:00
Evan Hunt
3c18b7d3fd silence "missing print.h" warning 2018-08-28 15:59:20 -07:00
Ondřej Surý
dc410ce58f Remove broken @ISC_IPV6_H@ placeholder from Makefile.in 2018-08-28 21:15:32 +02:00
Witold Kręcicki
103b60e0bc Pre-merge nits 2018-08-28 20:25:36 +02:00
Evan Hunt
cddb699690 style nits 2018-08-28 20:19:47 +02:00
Mukund Sivaraman
700614a0eb Set SO_SNDBUF 2018-08-28 20:19:47 +02:00
Witold Kręcicki
79ce86090a rndc reconfig should not touch already loaded zones, some refactoring of dns_{zone,view,zt}_{async,}load 2018-08-28 17:04:45 +02:00
Ondřej Surý
fecbc7923a Remove isc_keyboard family of functions as they were not used anywhere 2018-08-28 14:37:30 +02:00
Ondřej Surý
91aa405778 Update the isc_refcount documentation in doxygen format 2018-08-28 13:15:59 +02:00
Ondřej Surý
0f24c55d38 Refactor *_destroy and *_detach functions to unified order of actions.
This properly orders clearing the freed pointer and calling isc_refcount_destroy
as early as possible to have ability to put proper memory barrier when cleaning
up reference counting.
2018-08-28 13:15:59 +02:00
Ondřej Surý
9d5df99a9d Directly use return value of atomic_compare_exchange_strong_explicit insteaf of comparing expected value 2018-08-28 12:15:39 +02:00
Ondřej Surý
b5709e5531 Explicitly load atomic values in lib/isc/rwlock.c 2018-08-28 12:15:39 +02:00
Ondřej Surý
d1d15c03e2 Switch everything back to relaxed memory ordering 2018-08-28 12:15:39 +02:00
Ondřej Surý
69b9b9ec77 Remove no-op NODE_STRONG(UN)?LOCK and rename NODE_WEAK(UN)?LOCK to just NODE_(UN)?LOCK 2018-08-28 12:15:39 +02:00
Ondřej Surý
bef8ac5bae Rewrite isc_refcount API to fetch_and_<op>, instead of former <op>_and_<fetch> 2018-08-28 12:15:39 +02:00
Ondřej Surý
7fbbf09d21 Remove checks for atomic rwlock from rbtdb.cz and zone.c 2018-08-28 12:15:39 +02:00
Ondřej Surý
2b74478c8f Remove check for atomic isc_refcount in dns/rbt.h and always use isc_refcount 2018-08-28 12:15:39 +02:00
Ondřej Surý
93e8ba1b50 Rewrite reference counting in isc_mem to use isc_refcount API 2018-08-28 12:15:39 +02:00
Ondřej Surý
0a7535ac81 isc_refcount_init() now doesn't return isc_result_t and asserts on failed initialization 2018-08-28 12:15:39 +02:00
Ondřej Surý
e9e55cbd03 Remove isc_atomic usage from rwlock.c and stats.c 2018-08-28 12:15:39 +02:00
Ondřej Surý
e119de4169 Replace arch specific atomic.h with global atomic.h header using either stdatomic, __atomic or __sync primitives 2018-08-28 12:15:39 +02:00
Ondřej Surý
facc390b54 Update configure.in to check for both stdatomic.h and __atomic builtins 2018-08-28 12:15:39 +02:00