Branch: refs/heads/master
Home: https://github.com/NixOS/hydra
Commit: 7863d2e1da89444456e3c3dc2abe991ab33b135b
https://github.com/NixOS/hydra/commit/7863d2e1da89444456e3c3dc2abe991ab33b135b
Author: Eelco Dolstra <[email protected]>
Date: 2016-11-07 (Mon, 07 Nov 2016)
Changed paths:
M src/hydra-queue-runner/build-remote.cc
M src/hydra-queue-runner/builder.cc
M src/hydra-queue-runner/queue-monitor.cc
M src/hydra-queue-runner/state.hh
Log Message:
-----------
Step cancellation: Don't use pthread_cancel()
This was a bad idea because pthread_cancel() is unsalvageable broken
in C++. Destructors are not allowed to throw exceptions (especially in
C++11), but pthread_cancel() can cause a __cxxabiv1::__forced_unwind
exception inside any destructor that invokes a cancellation
point. (This exception can be caught but *must* be rethrown.) So let's
just kill the builder process instead.
_______________________________________________
nix-commits mailing list
[email protected]
http://lists.science.uu.nl/mailman/listinfo/nix-commits