waitall now returns -1 when faced with unreachable threads