[Nickle] Boom
Keith Packard
nickle@nickle.org
Mon, 17 Feb 2003 20:28:40 -0800
Around 16 o'clock on Feb 14, Bart Massey wrote:
> int x = 0;
> fork(x = 1);
> Thread::join(%51)
nickle: compile.c:2430: _CompileExpr: Assertion `0' failed.
Oops. Couple of trivial bugs. Note, however, that this syntax is not
very useful any longer. That's because threads are removed from the run
queue when finished, so there's no way to map numbers to threads for
completed threads; you have to save the thread object in a variable:
int x = 0;
thread t = fork (x = 1);
Thread::join(t)
Looks like thread numbers are a whole lot less useful this way, but the
alternative was to have exited threads clog up memory without serving any
purpose in case someone "happened" to use the % notation in an expression.
-keith