Commit Graph
40 Commits
Author SHA1 Message Date
Ondřej Surý 2bf7921c7e Update the copyright information in all files in the repository
This commit converts the license handling to adhere to the REUSE
specification.  It specifically:

1. Adds used licnses to LICENSES/ directory

2. Add "isc" template for adding the copyright boilerplate

3. Changes all source files to include copyright and SPDX license
   header, this includes all the C sources, documentation, zone files,
   configuration files.  There are notes in the doc/dev/copyrights file
   on how to add correct headers to the new files.

4. Handle the rest that can't be modified via .reuse/dep5 file.  The
   binary (or otherwise unmodifiable) files could have license places
   next to them in <foo>.license file, but this would lead to cluttered
   repository and most of the files handled in the .reuse/dep5 file are
   system test files.

(cherry picked from commit 58bd26b6cf)
2022-01-11 12:22:09 +01:00
Ondřej SurýandOndřej Surý 45c55b1e7e Add isc_trampoline API to have simple accounting around threads
The current isc_hp API uses internal tid_v variable that gets
incremented for each new thread using hazard pointers.  This tid_v
variable is then used as a index to global shared table with hazard
pointers state.  Since the tid_v is only incremented and never
decremented the table could overflow very quickly if we create set of
threads for short period of time, they finish the work and cease to
exist.  Then we create identical set of threads and so on and so on.
This is not a problem for a normal `named` operation as the set of
threads is stable, but the problematic place are the unit tests where we
test network manager or other APIs (task, timer) that create threads.

This commits adds a thin wrapper around any function called from
isc_thread_create() that adds unique-but-reusable small digit thread id
that can be used as index to f.e. hazard pointer tables.  The trampoline
wrapper ensures that the thread ids will be reused, so the highest
thread_id number doesn't grow indefinitely when threads are created and
destroyed and then created again.  This fixes the hazard pointer table
overflow on machines with many cores. [GL #2396]

(cherry picked from commit cbbecfcc82)
2021-02-26 21:14:17 +01:00
Evan Hunt df698d73f4 update all copyright headers to eliminate the typo 2020-09-14 16:50:58 -07:00
Ondřej Surý beee2a6598 Don't return from void function
(cherry picked from commit 948a23e6bb)
2020-04-16 07:55:40 +02:00
Ondřej Surý cdef20bb66 Merge branch 'each-style-tweak' into 'master'
adjust clang-format options to get closer to ISC style

See merge request isc-projects/bind9!3061

(cherry picked from commit d3b49b6675)

0255a974 revise .clang-format and add a C formatting script in util
e851ed0b apply the modified style
2020-02-14 05:35:29 +00:00
Ondřej Surý c931d8e417 Merge branch '46-just-use-clang-format-to-reformat-sources' into 'master'
Reformat source code with clang-format

Closes #46

See merge request isc-projects/bind9!2156

(cherry picked from commit 7099e79a9b)

4c3b063e Import Linux kernel .clang-format with small modifications
f50b1e06 Use clang-format to reformat the source files
11341c76 Update the definition files for Windows
df6c1f76 Remove tkey_test (which is no-op anyway)
2020-02-12 14:51:18 +00:00
Ondřej Surý b1a7ec7481 Remove isc_thread_key API in favor of ISC_THREAD_LOCAL variables
For BIND 9.16+, TLS aware compiler is required, and using
ISC_THREAD_LOCAL is preferred way of using Thread Local Storage.  The
isc_thread_key API is no longer used anywhere and hence was removed from
BIND 9.
2019-12-04 14:17:19 +01:00
Ondřej Surý 46919579bb Make isc_thread_join() assert internally on failure
Previously isc_thread_join() would return ISC_R_UNEXPECTED on a failure to
create new thread.  All such occurences were caught and wrapped into assert
function at higher level.  The function was simplified to assert directly in the
isc_thread_join() function and all caller level assertions were removed.
2019-07-31 11:56:58 +02:00
Ondřej Surý d6a60f2905 Make isc_thread_create() assert internally on failure
Previously isc_thread_create() would return ISC_R_UNEXPECTED on a failure to
create new thread.  All such occurences were caught and wrapped into assert
function at higher level.  The function was simplified to assert directly in the
isc_thread_create() function and all caller level assertions were removed.
2019-07-31 11:56:58 +02:00
Ondřej Surý 78d0cb0a7d Use coccinelle to remove explicit '#include <config.h>' from the source files 2019-03-08 15:15:05 +01:00
Witold Krecicki 7b6721b27f isc_thread_setaffinity() 2018-11-06 08:19:50 +00:00
Ondřej Surý 843d389661 Update license headers to not include years in copyright in all applicable files 2018-02-23 10:12:02 +01:00
Evan Hunt 532a001001 [master] add util.h 2017-05-01 13:28:24 -07:00
Tinderbox User 3618b965d1 update copyright notice / whitespace 2017-04-21 23:45:41 +00:00
Evan Hunt d26ae7fc08 [master] give threads unique names to assist debugging
4602.	[func]		Threads are now set to human-readable
			names to assist debugging, when supported by
			the OS. [RT #43234]
2017-04-21 13:59:40 -07:00
Mark Andrews 0c27b3fe77 4401. [misc] Change LICENSE to MPL 2.0. 2016-06-27 14:56:38 +10:00
Automatic Updater 70e5a7403f update copyright notice 2007-06-19 23:47:24 +00:00
Automatic Updater ec5347e2c7 update copyright notice 2007-06-18 23:47:57 +00:00
Mark Andrews 3a8be17fbf win32 2005-09-20 06:16:29 +00:00
Mark Andrews ed6ca94ad7 finetune isc_thread_key implementation [RT #15408] 2005-09-18 07:16:24 +00:00
Mark Andrews 8d10c10ec9 update copyright notice 2005-09-09 14:11:38 +00:00
Mark Andrews 345cd7d777 win32: minimal isc_key_*() implementation 2005-09-09 12:26:19 +00:00
Mark Andrews dafcb997e3 update copyright notice 2004-03-05 05:14:21 +00:00
Andreas Gustafsson e76d4c91bf coding style 2001-07-09 21:06:30 +00:00
Danny Mayer 68c2ccc953 code style cleanup 2001-07-08 05:09:35 +00:00
Danny Mayer e35c1bb3ec Initial win32 Release 2001-07-06 05:08:39 +00:00
Brian Wellington 499b34cea0 copyright update 2001-01-09 22:01:04 +00:00
David Lawrence 40f53fa8d9 Trailing whitespace trimmed. Perhaps running "perl util/spacewhack.pl in your
own CVS tree will help minimize CVS conflicts.  Maybe not.
Blame Graff for getting me to trim all trailing whitespace.
2000-08-01 01:33:37 +00:00
David Lawrence 15a4474541 word wrap copyright notice at column 70 2000-07-27 09:55:03 +00:00
David Lawrence 9c3531d72a add RCS id string 2000-06-22 22:00:42 +00:00
David Lawrence 49dbdb0186 update_copyrights 2000-06-21 22:05:07 +00:00
Bob Halley ca41b452ed update copyrights 2000-02-03 23:08:31 +00:00
David Lawrence e904ee6c52 Include process.h for _beginthreadex prototype. 1999-09-23 18:26:12 +00:00
Michael Graff 2f072c2982 Update copyrights 1999-09-15 23:03:43 +00:00
Bob Halley 1633838b82 update copyrights 1998-12-12 20:48:14 +00:00
Bob Halley d25afd60ee include config.h 1998-12-12 19:25:20 +00:00
Bob Halley d3239a41d1 eliminate detach 1998-10-23 23:51:09 +00:00
Bob Halley 1eda5e1a7c switch to _beginthreadex; close thread handle after join 1998-10-23 18:24:18 +00:00
Bob Halley 9fbefe0ace convert back to UNIX text format 1998-10-23 06:02:07 +00:00
Bob Halley 0fc87fa2f3 add 1998-10-23 05:45:44 +00:00