On Wed, Aug 8, 2012 at 10:13 PM, Emmanuel Dreyfus <manu@xxxxxxxxxx> wrote:
Anand Avati <anand.avati@xxxxxxxxx> wrote:It ensures swapcontext() is operates on a context obtanined by
> I still don't understand how/why this change will help NetBSD
getcontext() in the same thread.
NetBSD considers the thread to be part of the context, and calling
swapcontext() with a context obtained from another thread will preempt
the other thread in order to execute synctask_wrap(). And here we break
because synctask_get() will not retreive the approriate task, as it was
set in thread specific storage of another thread.
I wonder how this will impact multi-thread syncproc. You might want to #define SYNCENV_PROC_MAX to 1?
Avati