[Gluster-devel] swapcontest usage in syncio.c

Emmanuel Dreyfus manu at netbsd.org
Thu Aug 9 05:13:00 UTC 2012

Anand Avati <anand.avati at gmail.com> wrote:

> I still don't understand how/why this change will help NetBSD

It ensures swapcontext() is operates on a context obtanined by
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.

Emmanuel Dreyfus
manu at netbsd.org

More information about the Gluster-devel mailing list