Witold Kręcicki
08a2d2d37a
Make watching/unwatching sockets saner.
2018-11-13 19:02:36 +00:00
Witold Kręcicki
97b9d76f52
Use the newly accepted FD in TCP code.
2018-11-13 19:02:36 +00:00
Witold Kręcicki
ea54888e2e
Use isc_refcount_t in socket reference counting.
2018-11-13 19:02:36 +00:00
Witold Krecicki
ce6f33ed0b
Multiple network event loop threads support for Solarises /dev/poll.
2018-11-13 19:02:36 +00:00
Witold Kręcicki
901794f009
Mangle fdlocks a bit.
...
Mutexes are slower if they're in the same cache line. Since
fd's come in herds, and usually our listen sockets will have nearby
fd numbers, we mangle fdlocks so that the locks are further away.
2018-11-13 19:02:36 +00:00
Witold Kręcicki
e478ec16f9
Fix a race between socket closing and incoming event.
2018-11-13 19:02:36 +00:00
Witold Kręcicki
d15ba6eaba
Set network threads CPU affintity.
2018-11-13 19:02:36 +00:00
Witold Kręcicki
cde60b3085
Add runtime detection of SO_REUSEPORT, use it instead of dup() if available.
2018-11-13 19:02:36 +00:00
Witold Krecicki
4b8bdca210
Use multiple network event loop threads with separate data structures.
2018-11-13 19:02:36 +00:00
Witold Kręcicki
1f0cffd16f
Do IO after event directly in the network thread, don't queue an event in a separate task.
2018-11-13 19:02:36 +00:00
Witold Kręcicki
fd36cafe5a
Remove fdwatch sockets, those are not used anywhere.
2018-11-13 19:02:35 +00:00
Witold Kręcicki
5b3798661a
Fix a typo in lib/isc/unix/thread.c
2018-11-13 19:02:04 +00:00
Witold Kręcicki
3ebc29b82b
Use a single wake_all_queues() function to wake all queues
2018-11-13 19:02:04 +00:00
Witold Kręcicki
757b9a5351
Switch from privileged to un-privileged mode under lock
2018-11-13 19:02:04 +00:00
Witold Kręcicki
586ab26d51
Document isc_task_sendto properly, make sure that cpu we're sending to is always sane
2018-11-13 19:02:04 +00:00
Witold Kręcicki
5418603967
Use proper memory ordering for tasks_running/tasks_ready
2018-11-13 19:02:04 +00:00
Witold Kręcicki
8ece19f681
Comment about taskmgr exclusive mode, fix a REQUIRE.
2018-11-13 19:02:04 +00:00
Witold Kręcicki
8e45de0f6f
Saner exclusive task handling in taskmgr
2018-11-13 19:02:04 +00:00
Witold Kręcicki
dec92aeab6
Formatting
2018-11-13 19:02:04 +00:00
Witold Kręcicki
8ddc2b0225
Get rid of isc_taskmgr_setmode, we only use it to set privileged mode
2018-11-13 19:02:04 +00:00
Witold Kręcicki
7f423f0175
Make sure all priority tasks are done before entering normal execution
2018-11-13 19:02:04 +00:00
Witold Kręcicki
dccbc4086e
Post shutting down tasks always to manager 0
2018-11-13 19:02:04 +00:00
Witold Kręcicki
d5a3200b3d
Separate structure for each thread/queue; 2-phase-locking for exclusive tasks
2018-11-13 19:02:04 +00:00
Witold Kręcicki
70f46a537a
Always restart dispatchers on empty readyq
2018-11-13 19:02:04 +00:00
Witold Kręcicki
5f269f9572
Taskmgr shutdown fixes
2018-11-13 19:02:04 +00:00
Witold Kręcicki
30708dff65
Multiple worker queues
2018-11-13 19:02:04 +00:00
Witold Krecicki
ff3f537167
isc_thread_setaffinity()
2018-11-13 19:02:04 +00:00
Michał Kępień and Witold Kręcicki
4aae4ac05f
[squash] Rework code preparing a HTTP response for sending in lib/isc/httpd.c
2018-11-13 19:02:04 +00:00
Witold Kręcicki
3d58be4c15
Remove vector socket functions from Unix socket code and library headers
...
Remove the following functions in order to simplify socket code:
- isc_socket_recvv()
- isc_socket_sendtov()
- isc_socket_sendtov2()
- isc_socket_sendv()
2018-11-13 19:02:04 +00:00
Witold Kręcicki
a4ec819b3f
Remove vector socket functions from Windows socket code
...
Remove the following functions in order to simplify socket code:
- isc_socket_recvv()
- isc_socket_sendtov()
- isc_socket_sendtov2()
- isc_socket_sendv()
2018-11-13 19:02:04 +00:00
Witold Kręcicki
0fa04a2f0a
Do not use vector socket functions in HTTP server code
...
Refactor code in lib/isc/httpd.c to no longer use isc_socket_sendv() as
this function will be removed shortly.
2018-11-13 19:02:04 +00:00
Evan Hunt and Witold Kręcicki
52d63eeafc
remove config.h references
2018-11-13 19:02:04 +00:00
Evan Hunt
a0de6707c0
silence warning from missing print.h
2018-10-30 08:06:34 -07:00
Michał Kępień
e1f0aed034
Fix isc_buffer_copyregion() for auto-reallocated buffers
...
While isc_buffer_copyregion() calls isc_buffer_reserve() to ensure the
target buffer will have enough available space to append the contents of
the source region to it, the variables used for subsequently checking
available space are not updated accordingly after that call. This
prevents isc_buffer_copyregion() from working as expected for
auto-reallocated buffers: ISC_R_NOSPACE will be returned if enough space
is not already available in the target buffer before it is reallocated.
Fix by calling isc_buffer_used() and isc_buffer_availablelength()
directly instead of assigning their return values to local variables.
2018-10-30 13:33:25 +01:00
Michał Kępień
15440d8027
Add unit tests for isc_buffer_copyregion()
...
Add some basic checks for isc_buffer_copyregion() to ensure it behaves
as expected for both fixed-size buffers and buffers which can be
automatically reallocated. Adjust the list of headers included by
lib/isc/tests/buffer_test.c so that it matches what that test program
really uses.
2018-10-30 13:33:25 +01:00
Mark Andrews
97a680e5ce
document eol
2018-10-30 11:03:02 +11:00
Evan Hunt
dfe5d3330c
added stdatomic.h and md.h
2018-10-29 11:26:38 -07:00
Mark Andrews
561b780ba0
Only set IPV6_USE_MIN_MTU on IPv6.
2018-10-29 16:49:33 +11:00
Ondřej Surý
d6c50674bb
Remove last traces of DSA and NSEC3DSA algorithm, but restore the algnumber -> name mapping
2018-10-26 11:50:11 +02:00
Ondřej Surý
8efd394c80
Remove last bits of PKCS#11 DH support that has been already removed
2018-10-26 11:50:11 +02:00
Ondřej Surý
eb603cb021
Check for individual OpenSSL functions instead of relying on version number
2018-10-26 06:15:51 +02:00
Mark Andrews
632a0ae10b
EVP_CIPHER_CTX_new and EVP_CIPHER_CTX_free exist in OpenSSL 1.0.1
2018-10-26 10:01:14 +11:00
Ondřej Surý
68b49d87b2
Add md.h and md.c to Windows build files
2018-10-25 20:59:48 +02:00
Ondřej Surý
13888c93a4
Split isc_crc64 API test into separate unit test and convert it to cmocka
2018-10-25 08:16:24 +02:00
Ondřej Surý
b98ac2593c
Add generic hashed message authentication code API (isc_hmac) to replace specific HMAC functions hmacmd5/hmacsha1/hmacsha2...
2018-10-25 08:15:42 +02:00
Ondřej Surý
7fd3dc63de
Add generic message digest API (isc_md) to replace specific MD functions md5/sha1/sha256
2018-10-25 08:15:42 +02:00
Mark Andrews
afde30fe9b
expand the pool then copy over the old entries so we that failures do not break the old pool; also don't leak the new pool on error
2018-10-24 22:00:08 -04:00
Ondřej Surý
4b47958163
Fix typo in isc_rwlock_pause() on sparc
2018-10-23 09:29:03 +02:00
Evan Hunt
e839972ee2
address unresolved externals
2018-10-19 00:49:53 -07:00
Evan Hunt
3f35ab8567
remove references to methods and app_api.c
2018-10-19 00:28:53 -07:00