Forwarding guix/guix#2471
The test tests/preemption.scm specifically the
;; assert run-fibers on (race-until 100) terminates
(assert-run-fibers-returns (100) (race-until 100))
never terminates when running the tests on the Hurd causing the tests to hang.
The reason is that in with-interrupts/thread-cputime the interrupt-thread calls clock-nanosleep with a clock from pthread-getcpuclockid which fails with EINVAL.
The exception gets caught by the false-if-exception and the interrupt-thread just dies.
Then in the test the expected interrupt never happens and the test runs forever.
Forwarding https://codeberg.org/guix/guix/issues/2471
The test `tests/preemption.scm` specifically the
```
;; assert run-fibers on (race-until 100) terminates
(assert-run-fibers-returns (100) (race-until 100))
```
never terminates when running the tests on the Hurd causing the tests to hang.
The reason is that in `with-interrupts/thread-cputime` the `interrupt-thread` calls `clock-nanosleep` with a clock from `pthread-getcpuclockid` which fails with EINVAL.
The exception gets caught by the `false-if-exception` and the `interrupt-thread` just dies.
Then in the test the expected interrupt never happens and the test runs forever.