lkml.org 
[lkml]   [2001]   [Sep]   [27]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: System hangs during interruptible_sleep_on_timeout() under 2.4.9
On Thu, 27 Sep 2001, Norbert Roos wrote:

> Ingo Molnar wrote:
>
> > are you sure timer interrupts are processed while you are waiting for the
> > timeout to expire? I'd suggest to put a:
> >
> > printk("<%d>", irq);
> >
> > into arch/i386/kernel/irq.c:do_IRQ().
>
> Until the call of interruptible_sleep_on_timeout(), timer interrupts
> were processed. Right after the call no more output is made.
>
[SNIPPED...]

wait_queue_head_t wait_thing;

Interruptible_sleep_on_timeount(&wait_thing, timeout), now requires
that "wait_thing" must have been initialized with:

init_waitqueue_head(&wait_thing);

If you didn't do this before this object was used, all bets are
off.

Also, you cannot sleep during an interrupt or when you are holding
a spin-lock that disables interrupts.


> __asm__ __volatile__("pushfl ; popl %0":"=g" (x): /* no input */)
>
> (x ist the variable where the IRQ flags are stored)
> I'm not familiar with x86 assembler; is it possible that something can
> go wrong here?

This is correct. The flags are pushed then popped into the
variable provided.

Cheers,
Dick Johnson

Penguin : Linux version 2.4.1 on an i686 machine (799.53 BogoMips).

I was going to compile a list of innovations that could be
attributed to Microsoft. Once I realized that Ctrl-Alt-Del
was handled in the BIOS, I found that there aren't any.


-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/

\
 
 \ /
  Last update: 2005-03-22 13:03    [W:0.125 / U:5.596 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site