Revision 6b3a6f2c72521c39f780c2bf21b90a32b10b97e5 authored by David Bimmler on 23 February 2024, 11:55:44 UTC, committed by Jussi Mäki on 26 February 2024, 13:09:35 UTC
The idea of freshNetNS is to create a new network namespace to isolate the test from the system at large. In order to do so in Go, one must also lock the current goroutine to a specific OS thread and prevent other goroutines from being scheduled on that OS thread. Conveniently, runtime.LockOSThread does exactly that. However, freshNetNS was flawed in that it called runtime.UnlockOSThread too early - creation of the network namespace was locked to the current OS thread, but unlocking it means that the goroutine may be scheduled to another at any point, as well as other goroutines potentially interfering with "our" network namespace, as they are scheduled on "our" OS thread. Fix this by calling UnlockOSThread only after the test has completed, via t.Cleanup. Fixes: 450a541849 (bandwidth: Reconciler for qdisc setup) Signed-off-by: David Bimmler <david.bimmler@isovalent.com>
1 parent 5dcf274
File | Mode | Size |
---|---|---|
.devcontainer | ||
.github | ||
.nvim | ||
.travis | ||
.vscode | ||
Documentation | ||
api | ||
bpf | ||
bugtool | ||
cilium-dbg | ||
cilium-health | ||
clustermesh-apiserver | ||
contrib | ||
daemon | ||
examples | ||
hack | ||
hubble-relay | ||
images | ||
install | ||
operator | ||
pkg | ||
plugins | ||
test | ||
tools | ||
vendor | ||
.authors.aux | -rw-r--r-- | 416 bytes |
.clang-format | -rw-r--r-- | 7.6 KB |
.clomonitor.yml | -rw-r--r-- | 984 bytes |
.gitattributes | -rw-r--r-- | 887 bytes |
.gitignore | -rw-r--r-- | 1.8 KB |
.golangci.yaml | -rw-r--r-- | 4.1 KB |
.mailmap | -rw-r--r-- | 6.5 KB |
.openvex.json | -rw-r--r-- | 4.6 KB |
.travis.yml | -rw-r--r-- | 506 bytes |
AUTHORS | -rw-r--r-- | 46.9 KB |
CODEOWNERS | -rw-r--r-- | 27.6 KB |
CODE_OF_CONDUCT.md | -rw-r--r-- | 2.2 KB |
CONTRIBUTING.md | -rw-r--r-- | 691 bytes |
FURTHER_READINGS.rst | -rw-r--r-- | 6.4 KB |
LICENSE | -rw-r--r-- | 11.1 KB |
MAINTAINERS.md | -rw-r--r-- | 4.6 KB |
Makefile | -rw-r--r-- | 26.6 KB |
Makefile.defs | -rw-r--r-- | 7.3 KB |
Makefile.docker | -rw-r--r-- | 7.1 KB |
Makefile.kind | -rw-r--r-- | 16.7 KB |
Makefile.quiet | -rw-r--r-- | 818 bytes |
README.rst | -rw-r--r-- | 19.6 KB |
SECURITY-INSIGHTS.yml | -rw-r--r-- | 2.1 KB |
SECURITY.md | -rw-r--r-- | 1.0 KB |
USERS.md | -rw-r--r-- | 33.2 KB |
VERSION | -rw-r--r-- | 11 bytes |
Vagrantfile | -rw-r--r-- | 14.9 KB |
go.mod | -rw-r--r-- | 12.6 KB |
go.sum | -rw-r--r-- | 95.0 KB |
netlify.toml | -rw-r--r-- | 92 bytes |
stable.txt | -rw-r--r-- | 8 bytes |
vagrant_box_defaults.rb | -rw-r--r-- | 334 bytes |
![swh spinner](/static/img/swh-spinner.gif)
Computing file changes ...