]> git.ipfire.org Git - thirdparty/bird.git/log
thirdparty/bird.git
2 years agoFixed export hook stopping in some corner cases.
Maria Matejka [Thu, 6 Oct 2022 15:51:32 +0000 (17:51 +0200)] 
Fixed export hook stopping in some corner cases.

Notably, it's in a corked state and also when refeed is pending.

2 years agoBGP: End route refresh before another starts
Maria Matejka [Sun, 21 Nov 2021 11:06:19 +0000 (12:06 +0100)] 
BGP: End route refresh before another starts

2 years agoPoll errors must also drop a corefile. And we shouldn't run sockets when sockets...
Maria Matejka [Wed, 5 Oct 2022 14:26:13 +0000 (16:26 +0200)] 
Poll errors must also drop a corefile. And we shouldn't run sockets when sockets have changed

2 years agoFixed previously untested paths in RPKI
Maria Matejka [Tue, 4 Oct 2022 11:20:04 +0000 (13:20 +0200)] 
Fixed previously untested paths in RPKI

2 years agoMerge commit 'dc9351d3' into HEAD
Maria Matejka [Wed, 5 Oct 2022 13:17:51 +0000 (15:17 +0200)] 
Merge commit 'dc9351d3' into HEAD

2 years agoFixed pipe reload/refeed to properly propagate as route refresh to the other table
Maria Matejka [Wed, 5 Oct 2022 13:17:38 +0000 (15:17 +0200)] 
Fixed pipe reload/refeed to properly propagate as route refresh to the other table

2 years agoMerge commit '67256d50' into HEAD
Maria Matejka [Tue, 4 Oct 2022 14:15:36 +0000 (16:15 +0200)] 
Merge commit '67256d50' into HEAD

2 years agoMerge commit '3ace3a42' into HEAD
Maria Matejka [Tue, 4 Oct 2022 14:09:48 +0000 (16:09 +0200)] 
Merge commit '3ace3a42' into HEAD

2 years agoMerge commit 'fb7fb674' into HEAD
Maria Matejka [Tue, 4 Oct 2022 14:09:41 +0000 (16:09 +0200)] 
Merge commit 'fb7fb674' into HEAD

2 years agoMerge commit 'e9e6baae' into HEAD
Maria Matejka [Tue, 4 Oct 2022 14:02:23 +0000 (16:02 +0200)] 
Merge commit 'e9e6baae' into HEAD

2 years agoMerge commit 'a32cee78' into HEAD
Maria Matejka [Tue, 4 Oct 2022 13:59:15 +0000 (15:59 +0200)] 
Merge commit 'a32cee78' into HEAD

2 years agoMerge commit '71b434a9' into HEAD
Maria Matejka [Tue, 4 Oct 2022 13:53:12 +0000 (15:53 +0200)] 
Merge commit '71b434a9' into HEAD

2 years agoMerge commit '0072d11f' into tmp-learn
Maria Matejka [Tue, 4 Oct 2022 13:40:52 +0000 (15:40 +0200)] 
Merge commit '0072d11f' into tmp-learn

2 years agoMerge branch 'tmp-bad-learn' into thread-next
Maria Matejka [Thu, 29 Sep 2022 08:00:32 +0000 (10:00 +0200)] 
Merge branch 'tmp-bad-learn' into thread-next

2 years agoMerge commit '9efaf6ba' into tmp-bad-learn
Maria Matejka [Thu, 29 Sep 2022 07:58:27 +0000 (09:58 +0200)] 
Merge commit '9efaf6ba' into tmp-bad-learn

Also fixed forgotten best route selection among alien routes.

2 years agoMerge commit '4364ee' into tmp-bad-learn
Maria Matejka [Tue, 27 Sep 2022 10:46:22 +0000 (12:46 +0200)] 
Merge commit '4364ee' into tmp-bad-learn

2 years agoMerge commit 'cae5979871ee7aa341334f8b1af6bafc60ee9692' into tmp-bad-learn
Maria Matejka [Tue, 27 Sep 2022 10:39:07 +0000 (12:39 +0200)] 
Merge commit 'cae5979871ee7aa341334f8b1af6bafc60ee9692' into tmp-bad-learn

2 years agoKRT: Fix route learning
Maria Matejka [Tue, 27 Sep 2022 10:17:05 +0000 (12:17 +0200)] 
KRT: Fix route learning

This is a reimplementation of commit 0f2be469f897b6d9f925563bbf522438c83522ea
by Alexander Zubkov. In the master branch, changes in commit eb937358
broke setting of channel preference for alien routes learned during
scan. The preference was set only for async routes.

The original solution is extended here to accomodate for v3 specifics.

2 years agoMerge commit '3fd1f461' into thread-next
Maria Matejka [Mon, 26 Sep 2022 10:21:33 +0000 (12:21 +0200)] 
Merge commit '3fd1f461' into thread-next

closes #16
closes #17
closes #18

2 years agoMerge commit 'aadf690b' into thread-next
Maria Matejka [Mon, 26 Sep 2022 10:09:51 +0000 (12:09 +0200)] 
Merge commit 'aadf690b' into thread-next

Merging the old version of route refresh export settle times with -s
ours as the new version is more contained.

2 years agoHigher export settle times when route refresh is running.
Maria Matejka [Mon, 26 Sep 2022 10:09:14 +0000 (12:09 +0200)] 
Higher export settle times when route refresh is running.

This helps the route refresh procedures to finish or at least
do more work before the exporters jump in and steal all the CPU time
for themselves.

2 years agoMore verbose logging of table auxiliary export states
Maria Matejka [Fri, 23 Sep 2022 07:58:00 +0000 (09:58 +0200)] 
More verbose logging of table auxiliary export states

2 years agoFixed possible race condition in hostcache trie matching code not triggering HCU
Maria Matejka [Fri, 23 Sep 2022 07:57:40 +0000 (09:57 +0200)] 
Fixed possible race condition in hostcache trie matching code not triggering HCU

2 years agoFixed the export settle timer to be actually a settle timer
Maria Matejka [Wed, 21 Sep 2022 16:43:44 +0000 (18:43 +0200)] 
Fixed the export settle timer to be actually a settle timer

2 years agoCaching eattrs in filters is not needed anymore.
Maria Matejka [Wed, 21 Sep 2022 14:53:17 +0000 (16:53 +0200)] 
Caching eattrs in filters is not needed anymore.

After flattening the route attribute structure, the ea_list ** is derivable
from rte * by arithmetics. Caching the derived value doesn't help performance
and therefore is removed as unnecessary.

2 years agoFlushing tmp_linpool in tree test and in static protocol
Maria Matejka [Wed, 21 Sep 2022 11:39:13 +0000 (13:39 +0200)] 
Flushing tmp_linpool in tree test and in static protocol

2 years agoTrie test uses direct tmp_allocz() instead of lp_allocz(tmp_linpool)
Maria Matejka [Wed, 21 Sep 2022 10:08:52 +0000 (12:08 +0200)] 
Trie test uses direct tmp_allocz() instead of lp_allocz(tmp_linpool)

2 years agoLocal page allocation
Maria Matejka [Wed, 21 Sep 2022 09:49:35 +0000 (11:49 +0200)] 
Local page allocation

2 years agoPipe kick-and-drain packed into a neat structure and functions.
Maria Matejka [Tue, 20 Sep 2022 15:01:50 +0000 (17:01 +0200)] 
Pipe kick-and-drain packed into a neat structure and functions.

2 years agoBFD: The old pipe notification mechanism replaced by events
Maria Matejka [Tue, 20 Sep 2022 15:14:31 +0000 (17:14 +0200)] 
BFD: The old pipe notification mechanism replaced by events

2 years agoFixed display of standby memory
Maria Matejka [Tue, 20 Sep 2022 12:57:43 +0000 (14:57 +0200)] 
Fixed display of standby memory

2 years agoMerge commit 'df476c2e' into thread-next
Maria Matejka [Tue, 20 Sep 2022 11:10:29 +0000 (13:10 +0200)] 
Merge commit 'df476c2e' into thread-next

Implemented the corking by our own commit, merging with "ours" strategy.

2 years agoRoute export may get corked on refeed startup
Maria Matejka [Tue, 20 Sep 2022 10:40:23 +0000 (12:40 +0200)] 
Route export may get corked on refeed startup

2 years agoMerge commit '0fd1c1d0' into thread-next
Maria Matejka [Tue, 20 Sep 2022 07:52:03 +0000 (09:52 +0200)] 
Merge commit '0fd1c1d0' into thread-next

Using the "ours" strategy as the changes introduced in merged commits
are already implemented in thread-next in a different way.

2 years agoMerge commit 'adf37d8e' into thread-next
Maria Matejka [Tue, 20 Sep 2022 07:14:39 +0000 (09:14 +0200)] 
Merge commit 'adf37d8e' into thread-next

2 years agoMerge commit 'dc160e11' into thread-next
Maria Matejka [Tue, 20 Sep 2022 07:13:36 +0000 (09:13 +0200)] 
Merge commit 'dc160e11' into thread-next

2 years agoMerge remote-tracking branch 'origin/master' into thread-next
Maria Matejka [Mon, 19 Sep 2022 10:58:26 +0000 (12:58 +0200)] 
Merge remote-tracking branch 'origin/master' into thread-next

Ignoring that revert as the thread stack needs a completely different
allocation strategy. Not the current one either, yet it has to be done
yet.

2 years agoSwitched off forking for filter test.
Maria Matejka [Wed, 14 Sep 2022 12:45:21 +0000 (14:45 +0200)] 
Switched off forking for filter test.

You don't want to fork with threads running.

2 years agoMerge commit '4f3fa162' into HEAD
Maria Matejka [Sun, 18 Sep 2022 14:36:07 +0000 (16:36 +0200)] 
Merge commit '4f3fa162' into HEAD

2 years agoFix for table hostcache corking and shutdown race conditions
Maria Matejka [Wed, 14 Sep 2022 08:25:09 +0000 (10:25 +0200)] 
Fix for table hostcache corking and shutdown race conditions

2 years agoMerge commit '1518970c' into HEAD
Maria Matejka [Sun, 18 Sep 2022 14:35:40 +0000 (16:35 +0200)] 
Merge commit '1518970c' into HEAD

2 years agoFixing several race-conditions in event code.
Maria Matejka [Mon, 12 Sep 2022 09:09:43 +0000 (11:09 +0200)] 
Fixing several race-conditions in event code.

After a suggestion by Santiago, I added the direct list pointer into
events and the events are now using this value to check whether the
route is active or not. Also the whole trick with sentinel node unioned
with event list is now gone.

For debugging, there is also an internal circular buffer to store what
has been recently happening in event code before e.g. a crash happened.
By default, this debug is off and must be manually enabled in
lib/event.c as it eats quite some time and space.

2 years agoLonger unit test default timeout to prevent spurious build failures on slow virtuals
Maria Matejka [Tue, 13 Sep 2022 09:39:35 +0000 (11:39 +0200)] 
Longer unit test default timeout to prevent spurious build failures on slow virtuals

2 years agoTable: Re-scheduling prune event when another prune loop is pending
Maria Matejka [Mon, 12 Sep 2022 16:27:01 +0000 (18:27 +0200)] 
Table: Re-scheduling prune event when another prune loop is pending

2 years agoExport event doesn't have to be postponed before requeuing as an export-stop event
Maria Matejka [Mon, 12 Sep 2022 10:28:05 +0000 (12:28 +0200)] 
Export event doesn't have to be postponed before requeuing as an export-stop event

2 years agoConverted simple table events to loop flags
Maria Matejka [Mon, 12 Sep 2022 08:25:14 +0000 (10:25 +0200)] 
Converted simple table events to loop flags

2 years agoLoop flags: a simple idempotent event announcement mechanism
Maria Matejka [Mon, 12 Sep 2022 08:24:55 +0000 (10:24 +0200)] 
Loop flags: a simple idempotent event announcement mechanism

2 years agoCancelling all timers when loop stops
Maria Matejka [Sun, 11 Sep 2022 20:26:24 +0000 (22:26 +0200)] 
Cancelling all timers when loop stops

2 years agoRouting tables have their own service loops.
Maria Matejka [Fri, 9 Sep 2022 11:52:37 +0000 (13:52 +0200)] 
Routing tables have their own service loops.

2 years agoMemory pages allocator is now a global simple lockless structure
Maria Matejka [Fri, 9 Sep 2022 18:57:59 +0000 (20:57 +0200)] 
Memory pages allocator is now a global simple lockless structure

2 years agoRevert "Reducing filter stack size to allow for lesser thread stack size"
Maria Matejka [Fri, 16 Sep 2022 08:11:51 +0000 (10:11 +0200)] 
Revert "Reducing filter stack size to allow for lesser thread stack size"

This reverts commit 2c13759136951ef0e70a3e3c2b2d3c9a387f7ed9.

2 years agoRevert "Routing tables now have their own loops."
Maria Matejka [Wed, 14 Sep 2022 07:59:45 +0000 (09:59 +0200)] 
Revert "Routing tables now have their own loops."

This reverts commit 878eeec12bf020c9e7460040d225a929bbbd2bd2.

These changes have been done in a different way in the other branch of
the future merge.

2 years agoTable export announcer needs both an event and a timer to do export bundling the...
Maria Matejka [Fri, 9 Sep 2022 17:09:31 +0000 (19:09 +0200)] 
Table export announcer needs both an event and a timer to do export bundling the right way

2 years agoCreated a dedicated settle timer structure
Maria Matejka [Fri, 9 Sep 2022 13:04:36 +0000 (15:04 +0200)] 
Created a dedicated settle timer structure

2 years agoMerge remote-tracking branch 'origin/master' into thread-next
Maria Matejka [Fri, 9 Sep 2022 11:17:24 +0000 (13:17 +0200)] 
Merge remote-tracking branch 'origin/master' into thread-next

2 years agoMerge commit 'd2c1036a42881d413ec97203ede92a69f8cd218f' into thread-next
Maria Matejka [Fri, 9 Sep 2022 11:15:50 +0000 (13:15 +0200)] 
Merge commit 'd2c1036a42881d413ec97203ede92a69f8cd218f' into thread-next

2 years agoMerge branch 'mq-fix-eattr-setting' into thread-next
Maria Matejka [Fri, 9 Sep 2022 11:10:18 +0000 (13:10 +0200)] 
Merge branch 'mq-fix-eattr-setting' into thread-next

2 years agoTable access is now locked.
Maria Matejka [Wed, 7 Sep 2022 11:54:20 +0000 (13:54 +0200)] 
Table access is now locked.

2 years agoTable feed refactoring to allow for locking and unlocking
Maria Matejka [Wed, 7 Sep 2022 18:26:20 +0000 (20:26 +0200)] 
Table feed refactoring to allow for locking and unlocking

2 years agoTable long-locking debug code
Maria Matejka [Wed, 7 Sep 2022 13:06:22 +0000 (15:06 +0200)] 
Table long-locking debug code

2 years agoNext hop updater has its own event
Maria Matejka [Wed, 7 Sep 2022 11:12:44 +0000 (13:12 +0200)] 
Next hop updater has its own event

2 years agoNext hop refactoring to allow for table locking
Maria Matejka [Tue, 6 Sep 2022 17:38:40 +0000 (19:38 +0200)] 
Next hop refactoring to allow for table locking

2 years agoBetter profylaction recursive route loops
Maria Matejka [Fri, 22 Oct 2021 17:43:55 +0000 (19:43 +0200)] 
Better profylaction recursive route loops

In some specific configurations, it was possible to send BIRD into an
infinite loop of recursive next hop resolution. This was caused by route
priority inversion.

To prevent priority inversions affecting other next hops, we simply
refuse to resolve any next hop if the best route for the matching prefix
is recursive or any other route with the same preference is recursive.

Next hop resolution doesn't change route priority, therefore it is
perfectly OK to resolve BGP next hops e.g. by an OSPF route, yet if the
same (or covering) prefix is also announced by iBGP, by retraction of
the OSPF route we would get a possible priority inversion.

2 years agoNext hop update triggered at the very end of hostcache update
Maria Matejka [Mon, 5 Sep 2022 10:55:36 +0000 (12:55 +0200)] 
Next hop update triggered at the very end of hostcache update

2 years agoExporter routine refactoring to allow for nicer table locking
Maria Matejka [Mon, 5 Sep 2022 04:58:42 +0000 (06:58 +0200)] 
Exporter routine refactoring to allow for nicer table locking

2 years agoAdded an indirection to the export announcement routine
Maria Matejka [Thu, 1 Sep 2022 09:17:35 +0000 (11:17 +0200)] 
Added an indirection to the export announcement routine

There are performance reasons for this, mostly that we don't want to
ping the table service routine with every import.

2 years agoROA subscriptions are also converted to export requests.
Maria Matejka [Thu, 1 Sep 2022 08:39:56 +0000 (10:39 +0200)] 
ROA subscriptions are also converted to export requests.

By this, the requesting channels do the timers in their own loops,
avoiding unnecessary synchronization when the central timer went off.

This is of course less effective for now, yet it allows to easily
implement selective reloads in future.

2 years agoFlowspec revalidate notification converted to an export hook
Maria Matejka [Wed, 31 Aug 2022 14:04:36 +0000 (16:04 +0200)] 
Flowspec revalidate notification converted to an export hook

Instead of synchronous notifications, we use the asynchronous export
framework to notify flowspec src route updates. This allows us to
invoke flowspec revalidation without locking collisions.

2 years agoHostcache update notification converted to an export hook
Maria Matejka [Wed, 31 Aug 2022 12:01:59 +0000 (14:01 +0200)] 
Hostcache update notification converted to an export hook

Instead of synchronous notifications, we use the asynchronous export
framework to notify also hostcache updates. This allows us to do the
hostcache update and the subsequent next hop update notification without
locking collisions.

2 years agoMiscellaneous refactoring
Maria Matejka [Wed, 31 Aug 2022 09:58:27 +0000 (11:58 +0200)] 
Miscellaneous refactoring

2 years agoTable debug is now a per-table setting and has categories.
Maria Matejka [Tue, 30 Aug 2022 17:40:58 +0000 (19:40 +0200)] 
Table debug is now a per-table setting and has categories.

2 years agoDefault tables are not created unless actually used.
Maria Matejka [Thu, 1 Sep 2022 12:21:56 +0000 (14:21 +0200)] 
Default tables are not created unless actually used.

This allows for setting default table values at the beginning of config
file before "master4" and "master6" tables are initialized.

2 years agoTables: Requesting prune only after export cleanup
Maria Matejka [Tue, 30 Aug 2022 16:05:00 +0000 (18:05 +0200)] 
Tables: Requesting prune only after export cleanup

We can't free the network structures before the export has been cleaned
up, therefore it makes more sense to request prune only after export
cleanup. This change also reduces prune calls on table shutdown.

2 years agoMerge branch 'mq-fix-eattr-setting' into backport
Maria Matejka [Thu, 18 Aug 2022 20:07:50 +0000 (22:07 +0200)] 
Merge branch 'mq-fix-eattr-setting' into backport

2 years agoSimplified the protocol hookup code in Makefiles
Maria Matejka [Thu, 18 Aug 2022 16:32:33 +0000 (18:32 +0200)] 
Simplified the protocol hookup code in Makefiles

2 years agoFixed initialization of Linux kernel route attributes
Maria Matejka [Thu, 18 Aug 2022 15:44:00 +0000 (17:44 +0200)] 
Fixed initialization of Linux kernel route attributes

3 years agoMerge branch 'backport' into thread-next
Maria Matejka [Fri, 5 Aug 2022 09:14:33 +0000 (11:14 +0200)] 
Merge branch 'backport' into thread-next

3 years agoMerge commit '082905a8' into thread-next
Maria Matejka [Fri, 5 Aug 2022 09:09:44 +0000 (11:09 +0200)] 
Merge commit '082905a8' into thread-next

3 years agoMerge commit '534d0a4b' into thread-next
Maria Matejka [Fri, 5 Aug 2022 08:37:53 +0000 (10:37 +0200)] 
Merge commit '534d0a4b' into thread-next

3 years agoMerge commit '2e484f8d' into thread-next
Maria Matejka [Fri, 5 Aug 2022 08:31:40 +0000 (10:31 +0200)] 
Merge commit '2e484f8d' into thread-next

3 years agoMerge commit '971721c9' into thread-next
Maria Matejka [Fri, 5 Aug 2022 08:26:13 +0000 (10:26 +0200)] 
Merge commit '971721c9' into thread-next

3 years agoMerge commit '4d48ede5' into thread-next
Maria Matejka [Fri, 5 Aug 2022 07:26:23 +0000 (09:26 +0200)] 
Merge commit '4d48ede5' into thread-next

3 years agoMerge commit 'c7d0c5b2' into thread-next
Maria Matejka [Wed, 3 Aug 2022 18:01:42 +0000 (20:01 +0200)] 
Merge commit 'c7d0c5b2' into thread-next

3 years agoMerge commit '18f66055' into thread-next
Maria Matejka [Wed, 3 Aug 2022 16:00:17 +0000 (18:00 +0200)] 
Merge commit '18f66055' into thread-next

3 years agoMerge commit '038fcf1c' into thread-next
Maria Matejka [Wed, 3 Aug 2022 15:37:16 +0000 (17:37 +0200)] 
Merge commit '038fcf1c' into thread-next

It was necessary to update the code to match removal of rta, as well as
existence of cached nested attribute lists.

3 years agoMerge commit '082905a8' into HEAD
Maria Matejka [Wed, 3 Aug 2022 13:04:42 +0000 (15:04 +0200)] 
Merge commit '082905a8' into HEAD

3 years agorip_rte_better() uses the IGP_METRIC_UNKNOWN instead of protocol-specific infinity
Maria Matejka [Fri, 22 Jul 2022 14:09:37 +0000 (16:09 +0200)] 
rip_rte_better() uses the IGP_METRIC_UNKNOWN instead of protocol-specific infinity

3 years agoMerge commit '97476e00' into thread-next
Maria Matejka [Wed, 3 Aug 2022 12:07:53 +0000 (14:07 +0200)] 
Merge commit '97476e00' into thread-next

Had to fix route source locking inside BGP export table as we need to
keep the route sources properly allocated until even last BGP pending
update is sent out, therefore the export table printout is accurate.

3 years agoBGP: The bucket/prefix hashes are now a resource to allow for proper cleanup
Maria Matejka [Wed, 3 Aug 2022 09:57:29 +0000 (11:57 +0200)] 
BGP: The bucket/prefix hashes are now a resource to allow for proper cleanup

3 years agoMerge commit 'f0507f05ce57398e135651896dace4cb68eeed54' into thread-next
Maria Matejka [Tue, 2 Aug 2022 20:08:59 +0000 (22:08 +0200)] 
Merge commit 'f0507f05ce57398e135651896dace4cb68eeed54' into thread-next

3 years agoMerge branch 'ballygarvan' into HEAD
Maria Matejka [Tue, 2 Aug 2022 15:58:14 +0000 (17:58 +0200)] 
Merge branch 'ballygarvan' into HEAD

Replacing the old 3.0-alpha0 cork mechanism with another one inside the
routing table. This version should be simpler and also quite clear what
it does, why and when.

3 years agoRevert "Split route table event into separate events"
Maria Matejka [Tue, 2 Aug 2022 15:55:50 +0000 (17:55 +0200)] 
Revert "Split route table event into separate events"

This reverts commit 445eeaf3df126af2c7b61e71c4f08a583eb4fa60.

3 years agoRevert "Table cork: Stop creating updates when there are too many pending."
Maria Matejka [Tue, 2 Aug 2022 15:55:47 +0000 (17:55 +0200)] 
Revert "Table cork: Stop creating updates when there are too many pending."

This reverts commit 3b20722a1fc777c27ab2e0451d0ea3fee7fa81a2.

3 years agoAlso next hop update routines are corking themselves when congestion is detected
Maria Matejka [Tue, 2 Aug 2022 15:51:58 +0000 (17:51 +0200)] 
Also next hop update routines are corking themselves when congestion is detected

3 years agoBGP: respecting table cork
Maria Matejka [Tue, 2 Aug 2022 10:54:11 +0000 (12:54 +0200)] 
BGP: respecting table cork

3 years agoRoute table cork: Indicate whether the export queues are congested.
Maria Matejka [Thu, 28 Jul 2022 11:50:59 +0000 (13:50 +0200)] 
Route table cork: Indicate whether the export queues are congested.

These routines detect the export congestion (as defined by configurable
thresholds) and propagate the state to readers. There are no readers for
now, they will be added in following commits.

3 years agoIntroducing basic RCU primitives for lock-less shared data structures
Maria Matejka [Fri, 12 Nov 2021 21:58:40 +0000 (22:58 +0100)] 
Introducing basic RCU primitives for lock-less shared data structures

3 years agoFixed main birdloop init in unit tests
Maria Matejka [Mon, 1 Aug 2022 13:17:41 +0000 (15:17 +0200)] 
Fixed main birdloop init in unit tests

Some unit tests weren't initializing the birdloop, trying to write the
birdloop ping into stdin. Fixed this and also forced stdin close on
startup of every test just to be sure that CI and local build behave the
same in this. (CI was failing on this while local build not.)

3 years agoSending an event must also ping the target IO loop
Maria Matejka [Thu, 28 Jul 2022 17:52:19 +0000 (19:52 +0200)] 
Sending an event must also ping the target IO loop

3 years agoMoved the thread starting code to IO loop code
Maria Matejka [Thu, 28 Jul 2022 17:49:03 +0000 (19:49 +0200)] 
Moved the thread starting code to IO loop code