Branch: Tag:

2014-12-07

2014-12-07 16:32:17 by Henrik Grubbström (Grubba) <grubba@grubba.org>

Threads: Propagate thread abortion errors to wait().

A thread terminating by throwing an error now causes any corresponding
wait() on it to rethrow the error (instead of just returning zero (0)).

This simplifies detection of thread failures.

5363:    return Process.system (RUNPIKE +" testsuite_test.pike");    ]], 0)    +  test_eval_error([[ +  Thread.thread_create(lambda(){ +  // NB: It's currently not possible to inhibit the +  // backtrace (without messing with the master). +  error("Ignore the following line.\n"); +  })->wait(); +  ]]) +    cond_end // thread_create      cond([[0]],