Commit Graph
7219 Commits
Author SHA1 Message Date
Ondřej Surý b69e783164 Update netmgr, tasks, and applications to use isc_loopmgr
Previously:

* applications were using isc_app as the base unit for running the
  application and signal handling.

* networking was handled in the netmgr layer, which would start a
  number of threads, each with a uv_loop event loop.

* task/event handling was done in the isc_task unit, which used
  netmgr event loops to run the isc_event calls.

In this refactoring:

* the network manager now uses isc_loop instead of maintaining its
  own worker threads and event loops.

* the taskmgr that manages isc_task instances now also uses isc_loopmgr,
  and every isc_task runs on a specific isc_loop bound to the specific
  thread.

* applications have been updated as necessary to use the new API.

* new ISC_LOOP_TEST macros have been added to enable unit tests to
  run isc_loop event loops. unit tests have been updated to use this
  where needed.
2022-08-26 09:09:24 +02:00
Ondřej Surý 84c90e223f New event loop handling API
This commit introduces new APIs for applications and signal handling,
intended to replace isc_app for applications built on top of libisc.

* isc_app will be replaced with isc_loopmgr, which handles the
  starting and stopping of applications. In isc_loopmgr, the main
  thread is not blocked, but is part of the working thread set.
  The loop manager will start a number of threads, each with a
  uv_loop event loop running. Setup and teardown functions can be
  assigned which will run when the loop starts and stops, and
  jobs can be scheduled to run in the meantime. When
  isc_loopmgr_shutdown() is run from any the loops, all loops
  will shut down and the application can terminate.

* signal handling will now be handled with a separate isc_signal unit.
  isc_loopmgr only handles SIGTERM and SIGINT for application
  termination, but the application may install additional signal
  handlers, such as SIGHUP as a signal to reload configuration.

* new job running primitives, isc_job and isc_async, have been added.
  Both units schedule callbacks (specifying a callback function and
  argument) on an event loop. The difference is that isc_job unit is
  unlocked and not thread-safe, so it can be used to efficiently
  run jobs in the same thread, while isc_async is thread-safe and
  uses locking, so it can be used to pass jobs from one thread to
  another.

* isc_tid will be used to track the thread ID in isc_loop worker
  threads.

* unit tests have been added for the new APIs.
2022-08-25 12:24:29 +02:00
Matthijs Mekking 4f2a15b52a Add change entry and release note for #3486
News worthy.
2022-08-22 15:55:47 +02:00
Michal Nowak cfee4ce4f6 Add FreeBSD 13.1 2022-08-18 17:11:14 +02:00
Michal Nowak ffcee7c5b7 Merge tag 'v9_19_4'
BIND 9.19.4
2022-08-18 11:29:56 +02:00
Michal Nowak 593bed4ed0 Add OpenBSD 7.1 2022-08-16 16:30:00 +02:00
Matthijs Mekking fece593403 Add change and release note for #3381
Because folks want to know.
2022-08-15 11:44:20 +02:00
Michal Nowak 3c9fcc8327 Add Oracle Linux 9 2022-08-09 16:22:18 +02:00
Matthijs Mekking d6ea003990 Add release note and change entry for #2982
News worthy.
2022-08-09 09:14:53 +02:00
Michał Kępień 255629769e Set up release notes for BIND 9.19.5 2022-08-05 06:56:30 +02:00
Michał Kępień 7e7007a6c4 Tweak and reword release notes 2022-08-04 23:13:22 +02:00
Michał Kępień 4b0ac154a0 Prepare release notes for BIND 9.19.4 2022-08-04 23:13:22 +02:00
Michał Kępień cbb662607c Fix option name in the release note for GL #3140 2022-08-04 23:13:22 +02:00
Aram Sargsyan 50d57a7551 Add CHANGES and release notes for [GL #3461] 2022-08-01 13:49:46 +00:00
Petr Špaček 9b3710987b Add last missing tags, finishing touches 2022-07-29 18:56:04 +02:00
Suzanne GoldlustandPetr Špaček f9a5f389ed Add descriptions of each tag 2022-07-29 18:56:04 +02:00
Suzanne GoldlustandPetr Špaček 20d01ca2e3 Text edits to Statements and Statements by Tag sections 2022-07-29 18:56:04 +02:00
Suzanne GoldlustandPetr Špaček e14201a2f6 Reorder Statements and Statements by Tag sections 2022-07-29 18:56:04 +02:00
Suzanne GoldlustandPetr Špaček fc272863c6 Rephrase parental-agents description 2022-07-29 18:56:04 +02:00
Suzanne GoldlustandPetr Špaček 7dcdeba117 Add short description for plugin statement 2022-07-29 18:56:04 +02:00
Suzanne GoldlustandPetr Špaček 75ab5f81a4 Add tag and short description for dyndb statement 2022-07-29 18:56:04 +02:00
Suzanne GoldlustandPetr Špaček a8294e7af4 Add tags and short descriptions for dlz and search statements 2022-07-29 18:56:04 +02:00
Suzanne GoldlustandPetr Špaček 017008c407 Add tag and short description for catalog-zones statement 2022-07-29 18:56:04 +02:00
Suzanne GoldlustandPetr Špaček a470a6545f Add short descriptions and some tags to statements through line 1766 2022-07-29 18:56:00 +02:00
Mark Andrews 0d31135ca2 Add release note for [GL #3469] 2022-07-25 10:32:48 -04:00
Matthijs Mekking 113dcd124e Add change entry and release note for #3462
News worthy.
2022-07-25 16:05:29 +02:00
Petr Špaček f534ef291b Support Sphinx 1.6.7
Luckily we don't rely on SphinxDirective functionality which does not
exist in 1.6.7. Replace it with docutils Directive.

transform_content() callback was added only in Sphinx 3.0.0.
Detect if it was not called and call it manually.
The transform_content() function requires access to inner "contentnode"
which is created inside run(). This workaround relies on the order of
node as it was in the pre-3.0.0 versions, but it should not matter as
new versions will not trigger the workaround.
2022-07-21 15:21:21 +02:00
Petr Špaček ba10de32d3 Support docutils 0.14+dfsg-4
Ancient versions of docutils cannot cope with bare text inside a table
cell. Wrap text in a paragraph to work around that.
2022-07-21 15:21:21 +02:00
Petr Špaček 006ae7c43f Avoid opt-out flag in dnssec-signzone examples
Since !6413 we discourage opt-out, so we should not be advertising it in
the examples. Even worse, it was just thrown into the command line
without even mentioning its meaning in the surrounding text.

Related: !6413
2022-07-21 15:12:06 +02:00
Petr Špaček cb28a220ee Remove errorneous shell output redirection from dnssec-signzone example
The > looked like shell output redirection. It was present since we
imported DNSSEC Guide into the ARM.
2022-07-21 15:12:03 +02:00
Michal Nowak fbe864cbea Merge tag 'v9_19_3'
BIND 9.19.3
2022-07-21 11:48:25 +02:00
Evan Hunt 8c3fdecd73 CHANGES and release note for [GL #2918] 2022-07-20 11:57:41 -07:00
Evan Hunt b1d0cac280 Forbid zones with both dnssec-policy and max-zone-ttl
Since max-zone-ttl in zone/view/options is a no-op if dnssec-policy
is in use, let's make that a fatal error.
2022-07-20 11:57:37 -07:00
Evan Hunt 19352dd187 mark max-zone-ttl deprecated in options and zone
The "max-zone-ttl" option should now be configured as part of
"dnssec-policy". The option with the same name in "zone" and
"options" is hereby flagged as deprecated, and its functionality
will be removed in a future release.
2022-07-20 11:55:03 -07:00
Greg ChoulesandPetr Špaček 4d21939e99 Document qname-minimization off equals disabled 2022-07-18 18:22:01 +02:00
Suzanne GoldlustandPetr Špaček bb2bce539f Fix http block short description 2022-07-18 18:21:42 +02:00
Suzanne GoldlustandPetr Špaček 762359788b Add headings for server, logging, zone, and view statements 2022-07-18 18:16:33 +02:00
Suzanne GoldlustandPetr Špaček 7c5a0ec540 Add tags/short descriptions for the "view" category 2022-07-18 18:16:33 +02:00
Suzanne GoldlustandPetr Špaček cc2e144371 Add tags/short descriptions for "zone" category 2022-07-18 18:16:33 +02:00
Suzanne GoldlustandPetr Špaček 51a41ec7ef Add tags/short descriptions for "logging" category 2022-07-18 18:10:44 +02:00
Suzanne GoldlustandPetr Špaček 3ab858d828 Add tags and short descriptions for tag "server" 2022-07-18 18:10:44 +02:00
Michał Kępień fc8e6a4cb2 Update documentation for named's -M option
Remove "external" from the list of legal values for the -M command-line
option as it has not been allowed since the internal memory allocator
was removed by commit 55ace5d3aa.

Make the style of the relevant paragraph more in line with the next one
and split its contents up into an unordered list of options for improved
readability.
2022-07-15 10:23:03 +02:00
Michał Kępień cfa398ad37 Add CHANGES entry and release note for GL #3439 2022-07-13 10:31:16 +02:00
Michal Nowak 0d0ab3db10 Add Alpine Linux 3.16 2022-07-12 12:27:10 +02:00
Matthijs Mekking 689215a675 Add release note and change entry for #3438
Bug worth mentioning.
2022-07-12 11:29:39 +02:00
Ondřej Surý 51b0c3cbb8 Add CHANGES and release note for [GL #3423] 2022-07-11 12:26:37 +02:00
Michał Kępień 680d1d29a4 Set up release notes for BIND 9.19.4 2022-07-11 08:49:38 +02:00
Michał Kępień 61f183af3d Add release note for GL #3415 2022-07-07 14:43:47 +02:00
Michał Kępień a01550d25f Add release note for GL #3152 2022-07-07 14:43:47 +02:00
Michał Kępień d22094810b Restore release note for GL #3386 2022-07-07 14:43:47 +02:00