[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <40921.64.62.206.10.1214006079.squirrel@ruckus.brouhaha.com>
Date:	Fri, 20 Jun 2008 16:54:39 -0700 (PDT)
From:	"Eric Smith" <eric@...uhaha.com>
To:	linux-kernel@...r.kernel.org
Subject: Any lightweight way for one thread to force another thread to 
     suspend execution?
Is there any method for one thread to force another thread to suspend
execution, then later let it resume, that is lighter weight than using
signals?  I don't need it to be portable to anything other than Linux.
The suspend needs to be synchronous, but resume doesn't.
What I've thought about so far (but haven't tested) for thread A
to suspend thread B is to use a signal and two pthread conditions:
    Thread A                   Thread B
    -----------------------    -----------------------
    send signal to B
    wait on a cond 1
                               enter signal handler
                               signal cond 1
                               wait on cond 2
    wake up
    do stuff that needs
    thread B suspended
    signal cond 2
    continue                   wake up
Thanks for any suggestions!
Eric Smith
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/
Powered by blists - more mailing lists