[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Getting back to sleep


Given what he wants here, i.e. 
"In this case, we simply want any thread that was sleeping to go back to
sleep when the app runs again." 

is there a call that can be made to deliver the signal (like do_signal()
but without all the regs and stuff?  Then he could test if it is a
SIGSTOP & PTRACE, deliver the signal and go back to sleep.

George

Jonathan Edwards wrote:
> 
> Alan Cox wrote:
> >
> > > But we *don't* want to avoid interference from signals.  We want to
> > > allow signals but we don't want to have to return from the driver if the
> > > signal in question is SIGSTOP...
> >
> > Can you explain the reasoning here ?
> >
> > Alan
> 
> In the absence of a complete redesign of the driver, a single ioctl is
> going
> to result in several transfers between the host and the device, with the
> device "driving" things - the host is going to transfer data when the
> device requests it to do so and is going to spend most of its time
> sitting
> around waiting for the device to ask it to transfer something.
> 
> Normally, the receipt of a signal will cause the driver to abort the
> ioctl
> (and interact with the device to clean up properly).
> 
> We need to be able to debug a multithreaded app that spends a lot of its
> time
> conversing with the device (or at least holding a channel to the device
> open).
> When an event occurs in one thread, gdb (via ptrace) is going to send a
> SIGSTOP to the "other" threads to quiesce the app.  In this case, we
> simply
> want any thread that was sleeping to go back to sleep when the app runs
> again.
> 
> -
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to majordomo _at_ vger.redhat.com
> Please read the FAQ at http://www.tux.org/lkml/
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo _at_ vger.kernel.org
Please read the FAQ at http://www.tux.org/lkml/

この情報があなたの探していたものかどうか選択してください。
yes/まさにこれだ!   no/違うなぁ   part/一部見つかった   try/これで試してみる

あなたが探していた情報はどのようなことか、ご自由に記入下さい。特に「まさにこれだ!」と言う場合は記入をお願いします。
例:「複数のマシンからCATV経由でipmasqueradeを利用してWebを参照したい場合の設定について」