zapret2-fork/nfq2/winnative/tests
Repository files (latest commit first)
Filename Latest commit message Latest commit date
loop-uh dc41b27493
Some checks failed
build.yml / winws2 native: send the held batch before the receive loop exits (push) Failing after 0s
winws2 native: send the held batch before the receive loop exits
Unmodified packets were held until the next receive. On quit and when the
logical network disappears upstream leaves windivert_recv() before receiving,
so the last run (up to 128 packets) never reached the network. Stress on win10:
20 of 20 stops lost a full run, 2548 packets in total; 0 after the fix.

usleep(0), which starts windivert_recv_exit(), now sends the run and polls the
control events, as cygwin delivered signals there. This also makes the term
event work while the engine waits for a logical network (it used to hang).
WinDivertClose forgets the run of the handle without reading the packets.
tests/check_upstream.py fails the sync if upstream drops that usleep call.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-12 21:16:34 +03:00
..
check_upstream.py winws2 native: send the held batch before the receive loop exits 2026-10-12 21:16:34 +03:00
cygwin_golden.json winws2 native: windows control events, persistent log handle, unlimited config file, host tests 2026-10-07 17:22:13 +03:00
run.sh winws2 native: send the held batch before the receive loop exits 2026-10-12 21:16:34 +03:00
stop_race.py winws2 native: stress test of the graceful stop 2026-10-09 22:35:40 +03:00
test_args.c winws2 native: windows control events, persistent log handle, unlimited config file, host tests 2026-10-07 17:22:13 +03:00
test_args.py winws2 native: windows control events, persistent log handle, unlimited config file, host tests 2026-10-07 17:22:13 +03:00