So here's today's status of revivesa: Today's code (actually last weekend's; I've been AFK for a bit) now passes all of the NetBSD 4.0 libpthread regression tests! As such, I think the branch is an overall success. More ToDo: 1) I've gotten some comments about the signal handling changes which I need to apply. 2) rmind suggested making SA a kernel option. I think this is doable. Kernel structures won't change size, but having the kernel not include the SA-using bits is fine. 3) CPU affinity calls need to be unsupported for SA processes. To really support binding a thread to a processor in SA means binding a VP to a CPU, binding all lwps that are used by that VP to said CPU, and binding libpthread treads to that VP. That's a lot of work, and not something a) that can be done in the 5.0 time frame, and b) not something I'm interested in. 4) One of the regression tests I wrote to test signalling running threads on 4.0 doesn't work. The problem is that I never used (and tested) the system call to preempt a running VP. For NetBSD 4, this isn't bad as we run the timer interrupt on all CPUs (AFAICT), so even a 100%-solid usercode app will occasionally see interrupts. These will get intra-thread signals noticed. NetBSD 5 doesn't do this, so I need the systemcall. Take care, Bill
Attachment:
pgpMGgh5dONDe.pgp
Description: PGP signature