0
0
mirror of https://gitlab.nic.cz/labs/bird.git synced 2024-11-14 23:28:43 +00:00
bird/lib
Jan Maria Matejka 2312622923 Coroutine: use pthread_exit() instead of pthread_cancel()
The coroutine itself may hold some resources when going across pthread
cancellable points. Now it is ensured (by semaphores) that either the
main process or the coroutine is running so the coroutine is always
cancelled inside coro_suspend() where everything is clean but it will
change in future.

Instead, we explicitly mark the coroutine freeze/cancel points by
yielding there -- calling coro_suspend() and checking whether the
master process has requested to stop.

Where pthread_cancel() was, we instead set a flag and resume that
thread to finish its work and exit itself.
2018-09-13 11:10:27 +02:00
..
alloca.h Several minor fixes 2017-02-20 02:26:45 +01:00
birdlib.h Use non-fatal asserts even for regular build 2018-01-10 16:17:37 +01:00
bitops_test.c Birdtest: Replace BT_SUCCESS and BT_FAILURE with 1 and 0 2016-11-11 17:43:09 +01:00
bitops.c Initial commit on integrated BIRD 2015-11-05 12:48:52 +01:00
bitops.h Unit Testing for BIRD 2016-11-09 16:36:34 +01:00
buffer_test.c Static: Minor overhaul 2017-03-09 13:47:00 +01:00
buffer.h Lib: Fix macro/keyword collisions 2017-12-10 13:16:31 +01:00
checksum_test.c Birdtest: Replace BT_SUCCESS and BT_FAILURE with 1 and 0 2016-11-11 17:43:09 +01:00
checksum.c unsigned [int] -> uint 2015-06-08 02:24:08 +02:00
checksum.h unsigned [int] -> uint 2015-06-08 02:24:08 +02:00
coroutine.h Coroutine: use pthread_exit() instead of pthread_cancel() 2018-09-13 11:10:27 +02:00
event_test.c Timers: Fix tests after timer change 2017-12-07 13:49:27 +01:00
event.c Implement latency tracking, internal event log and watchdog 2015-03-02 09:41:14 +01:00
event.h Fininshing integrated OSPF. 2014-11-03 10:42:55 +01:00
fletcher16_test.c Birdtest: Replace BT_SUCCESS and BT_FAILURE with 1 and 0 2016-11-11 17:43:09 +01:00
fletcher16.h OSPF: Redesign LSA checksumming 2015-05-01 14:40:56 +02:00
flowspec_test.c Fix some minor issues 2017-12-12 15:57:14 +01:00
flowspec.c Minor cleanups and fixes 2017-05-23 13:12:25 +02:00
flowspec.h Lib: Fix macro/keyword collisions 2017-12-10 13:16:31 +01:00
hash_test.c Birdtest: Replace BT_SUCCESS and BT_FAILURE with 1 and 0 2016-11-11 17:43:09 +01:00
hash.h Nest: Neighbor cache cleanups 2018-06-27 16:57:07 +02:00
heap_test.c Birdtest: Replace BT_SUCCESS and BT_FAILURE with 1 and 0 2016-11-11 17:43:09 +01:00
heap.h BFD work in progress. 2013-09-16 23:57:40 +02:00
idm.c Merge branch 'master' into int-new 2016-11-08 19:27:58 +01:00
idm.h Move ID allocator to a separate file and use it also in OSPF 2015-12-29 15:42:12 +01:00
ip_test.c Birdtest: Replace BT_SUCCESS and BT_FAILURE with 1 and 0 2016-11-11 17:43:09 +01:00
ip.c Unit Testing for BIRD 2016-11-09 16:36:34 +01:00
ip.h BSD: Use MSG_DONTROUTE for unicast packets on FreeBSD 2018-07-28 16:54:06 +02:00
lists_test.c Birdtest: Replace BT_SUCCESS and BT_FAILURE with 1 and 0 2016-11-11 17:43:09 +01:00
lists.c BGP redesign 2016-12-07 14:20:52 +01:00
lists.h BGP redesign 2016-12-07 14:20:52 +01:00
mac_test.c Birdtest: Replace BT_SUCCESS and BT_FAILURE with 1 and 0 2016-11-11 17:43:09 +01:00
mac.c Add generic message authentication interface 2016-11-02 16:23:53 +01:00
mac.h Add missing extern 2016-11-03 09:53:53 +01:00
macro.h Macro: Added a bunch of dirty C preprocessor tricks 2018-05-29 11:53:51 +02:00
Makefile Timers: Split microsecond timers from BFD code to lib 2017-12-07 13:46:53 +01:00
md5.c Add generic message authentication interface 2016-11-02 16:23:53 +01:00
md5.h Add generic message authentication interface 2016-11-02 16:23:53 +01:00
mempool.c Lib: Minor fix 2017-12-13 15:27:33 +01:00
net.c Add support for source-specific IPv6 routes to BIRD core 2018-02-13 16:39:07 +01:00
net.h Filter: Add support for src filter op to access SADR source prefix 2018-05-16 11:19:29 +02:00
patmatch_test.c Birdtest: Replace BT_SUCCESS and BT_FAILURE with 1 and 0 2016-11-11 17:43:09 +01:00
patmatch.c Some consts for function arguments 2015-11-24 13:52:26 +01:00
printf_test.c Printf: Add support for microsecond times 2017-12-07 13:49:27 +01:00
printf.c Lib: recursive printf 2018-08-22 15:14:06 +02:00
progdoc Doc: renamed progdoc files Doc -> progdoc to fix collision with doc/ folder on case-insensitive filesystems 2018-06-26 17:09:12 +02:00
resource.c RPKI protocol with one cache server per protocol 2016-12-07 09:35:24 +01:00
resource.h Lib: Save/restore state for linpools 2017-12-12 19:57:52 +01:00
resource.sgml Fixes for the programmer's manual. 2000-06-08 12:37:21 +00:00
sha1.c Add generic message authentication interface 2016-11-02 16:23:53 +01:00
sha1.h Add generic message authentication interface 2016-11-02 16:23:53 +01:00
sha256.c Add generic message authentication interface 2016-11-02 16:23:53 +01:00
sha256.h Add generic message authentication interface 2016-11-02 16:23:53 +01:00
sha512.c Add generic message authentication interface 2016-11-02 16:23:53 +01:00
sha512.h Add generic message authentication interface 2016-11-02 16:23:53 +01:00
slab.c unsigned [int] -> uint 2015-06-08 02:24:08 +02:00
slist_test.c Birdtest: Replace BT_SUCCESS and BT_FAILURE with 1 and 0 2016-11-11 17:43:09 +01:00
slists.c Unit Testing for BIRD 2016-11-09 16:36:34 +01:00
slists.h Temporary integrated OSPF commit. 2014-06-26 11:58:57 +02:00
socket.h Coro: Fixed deadlock when CLI is killed. 2018-08-28 16:49:43 +02:00
string.h Add lp_strdup function for string duplication on linpool 2016-11-16 12:22:01 +01:00
tbf.c Timers: Fix TBF and some last remains 2017-12-07 13:53:42 +01:00
timer.c Minor cleanup 2017-12-14 21:52:07 +01:00
timer.h Lib: Fix macro/keyword collisions 2017-12-10 13:16:31 +01:00
unaligned.h BGP: Support for MPLS labels and VPN SAFI 2017-03-22 18:16:49 +01:00
xmalloc.c unsigned [int] -> uint 2015-06-08 02:24:08 +02:00