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

Reply via email to