2005-09-13 09:20:56

by manomugdha biswas

[permalink] [raw]
Subject: how to use wait_event_interruptible_timeout

Hi,
I was using interruptible_sleep_on_timeout() in kernel
2.4. In kernel 2.6 I have use
wait_event_interruptible_timeout. But it is now
working!!. interruptible_sleep_on_timeout() was
working fine. Could anyone please help me in this
regard.
Regards,
Mano

Manomugdha Biswas



__________________________________________________________
Yahoo! India Matrimony: Find your partner now. Go to http://yahoo.shaadi.com


2005-09-13 09:31:01

by Gaurav Dhiman

[permalink] [raw]
Subject: Re: how to use wait_event_interruptible_timeout

On 9/13/05, manomugdha biswas <[email protected]> wrote:
> Hi,
> I was using interruptible_sleep_on_timeout() in kernel
> 2.4. In kernel 2.6 I have use
> wait_event_interruptible_timeout. But it is now
> working!!. interruptible_sleep_on_timeout() was
> working fine. Could anyone please help me in this
> regard.

What problem are you facing with wait_event_interruptible_timeout() in 2.6
Elaborate more on it.

-Gaurav

> Regards,
> Mano
>
> Manomugdha Biswas
>
>
>
> __________________________________________________________
> Yahoo! India Matrimony: Find your partner now. Go to http://yahoo.shaadi.com
> -
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to [email protected]
> More majordomo info at http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at http://www.tux.org/lkml/
>


--
- Gaurav
my blog: http://lkdp.blogspot.com/
--

2005-09-13 09:44:41

by manomugdha biswas

[permalink] [raw]
Subject: Re: how to use wait_event_interruptible_timeout

Hi,
I am using the this function in the following way:

wait_queue_head_t VNICClientWQHead;

/* Initialise the wait q head */
init_waitqueue_head(&VNICClientWQHead);

init_waitqueue_entry(&waitQ, current);
add_wait_queue(sock->sk->sk_sleep, waitQ));

/*
my code, it reads data from socket
*/

wait_event_interruptible_timeout(VNICClientWQHead, 0,
HZ * 100000);

if no activity is to be done then this process sleeps.
When some data comes in socket i.e socket becomes
readable this process should wake up. In kernel 2.4 it
was working fine using interruptible_sleep_on_time().
But it is not working in kernel 2.6 even if data
arrives in socket! The sleeping process never wake up.
Could you please tell me what is the problem?

Regards,
Mano


--- Gaurav Dhiman <[email protected]> wrote:

> On 9/13/05, manomugdha biswas
> <[email protected]> wrote:
> > Hi,
> > I was using interruptible_sleep_on_timeout() in
> kernel
> > 2.4. In kernel 2.6 I have use
> > wait_event_interruptible_timeout. But it is now
> > working!!. interruptible_sleep_on_timeout() was
> > working fine. Could anyone please help me in this
> > regard.
>
> What problem are you facing with
> wait_event_interruptible_timeout() in 2.6
> Elaborate more on it.
>
> -Gaurav
>
> > Regards,
> > Mano
> >
> > Manomugdha Biswas
> >
> >
> >
> >
>
__________________________________________________________
> > Yahoo! India Matrimony: Find your partner now. Go
> to http://yahoo.shaadi.com
> > -
> > To unsubscribe from this list: send the line
> "unsubscribe linux-kernel" in
> > the body of a message to [email protected]
> > More majordomo info at
> http://vger.kernel.org/majordomo-info.html
> > Please read the FAQ at http://www.tux.org/lkml/
> >
>
>
> --
> - Gaurav
> my blog: http://lkdp.blogspot.com/
> --
> -
> To unsubscribe from this list: send the line
> "unsubscribe linux-kernel" in
> the body of a message to [email protected]
> More majordomo info at
> http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at http://www.tux.org/lkml/
>


Manomugdha Biswas



__________________________________________________________
Yahoo! India Matrimony: Find your partner now. Go to http://yahoo.shaadi.com

2005-09-13 11:12:00

by Gaurav Dhiman

[permalink] [raw]
Subject: Re: how to use wait_event_interruptible_timeout

On 9/13/05, manomugdha biswas <[email protected]> wrote:
> Hi,
> I am using the this function in the following way:

you are using it wrong way ....

>
> wait_queue_head_t VNICClientWQHead;
>
> /* Initialise the wait q head */
> init_waitqueue_head(&VNICClientWQHead);
>
> init_waitqueue_entry(&waitQ, current);
> add_wait_queue(sock->sk->sk_sleep, waitQ));

need not to do this at all, as all this is done by
wait_event_interruptible_timepout() function. Just here you initialize
the head of the list.

>
> /*
> my code, it reads data from socket
> */
>
> wait_event_interruptible_timeout(VNICClientWQHead, 0,
> HZ * 100000);
>
> if no activity is to be done then this process sleeps.
> When some data comes in socket i.e socket becomes
> readable this process should wake up. In kernel 2.4 it
> was working fine using interruptible_sleep_on_time().
> But it is not working in kernel 2.6 even if data
> arrives in socket! The sleeping process never wake up.
> Could you please tell me what is the problem?
>
> Regards,
> Mano
>
>
> --- Gaurav Dhiman <[email protected]> wrote:
>
> > On 9/13/05, manomugdha biswas
> > <[email protected]> wrote:
> > > Hi,
> > > I was using interruptible_sleep_on_timeout() in
> > kernel
> > > 2.4. In kernel 2.6 I have use
> > > wait_event_interruptible_timeout. But it is now
> > > working!!. interruptible_sleep_on_timeout() was
> > > working fine. Could anyone please help me in this
> > > regard.
> >
> > What problem are you facing with
> > wait_event_interruptible_timeout() in 2.6
> > Elaborate more on it.
> >
> > -Gaurav
> >
> > > Regards,
> > > Mano
> > >
> > > Manomugdha Biswas
> > >
> > >
> > >
> > >
> >
> __________________________________________________________
> > > Yahoo! India Matrimony: Find your partner now. Go
> > to http://yahoo.shaadi.com
> > > -
> > > To unsubscribe from this list: send the line
> > "unsubscribe linux-kernel" in
> > > the body of a message to [email protected]
> > > More majordomo info at
> > http://vger.kernel.org/majordomo-info.html
> > > Please read the FAQ at http://www.tux.org/lkml/
> > >
> >
> >
> > --
> > - Gaurav
> > my blog: http://lkdp.blogspot.com/
> > --
> > -
> > To unsubscribe from this list: send the line
> > "unsubscribe linux-kernel" in
> > the body of a message to [email protected]
> > More majordomo info at
> > http://vger.kernel.org/majordomo-info.html
> > Please read the FAQ at http://www.tux.org/lkml/
> >
>
>
> Manomugdha Biswas
>
>
>
> __________________________________________________________
> Yahoo! India Matrimony: Find your partner now. Go to http://yahoo.shaadi.com
>


--
- Gaurav
my blog: http://lkdp.blogspot.com/
--

2005-09-13 13:49:16

by manomugdha biswas

[permalink] [raw]
Subject: Re: how to use wait_event_interruptible_timeout

Hi,
I have a kernel module (kernel 2.6) where I have
opened multiple tcp connections. when there is no data
i want my process to sleep. For that i have added the
following code.

/* Initialise the wait q head */
init_waitqueue_head(&VNICClientWQHead);

init_waitqueue_entry(&(currentMap->waitQ), current);
add_wait_queue(currentMap->sock->sk->sk_sleep,
&(currentMap->waitQ));

/* here currentMap is a structure containing tcp
conenction info for my module. There is a currentMap
for each tcp connection */

wait_event_interruptible_timeout(VNICClientWQHead,
0, HZ * 100000);

I am not sure about the condition argument, 0.

It is not working. How the condition is to be set here
so that whenever data is available on any socket (tcp
connection) the sleeping process gets waken up?

Could anyone please give some light on this?

Regards,
Mano





--- Gaurav Dhiman <[email protected]> wrote:

> On 9/13/05, manomugdha biswas
> <[email protected]> wrote:
> > Hi,
> > I am using the this function in the following way:
>
> you are using it wrong way ....
>
> >
> > wait_queue_head_t VNICClientWQHead;
> >
> > /* Initialise the wait q head */
> > init_waitqueue_head(&VNICClientWQHead);
> >
> > init_waitqueue_entry(&waitQ, current);
> > add_wait_queue(sock->sk->sk_sleep, waitQ));
>
> need not to do this at all, as all this is done by
> wait_event_interruptible_timepout() function. Just
> here you initialize
> the head of the list.
>
> >
> > /*
> > my code, it reads data from socket
> > */
> >
> > wait_event_interruptible_timeout(VNICClientWQHead,
> 0,
> > HZ * 100000);
> >
> > if no activity is to be done then this process
> sleeps.
> > When some data comes in socket i.e socket becomes
> > readable this process should wake up. In kernel
> 2.4 it
> > was working fine using
> interruptible_sleep_on_time().
> > But it is not working in kernel 2.6 even if data
> > arrives in socket! The sleeping process never wake
> up.
> > Could you please tell me what is the problem?
> >
> > Regards,
> > Mano
> >
> >
> > --- Gaurav Dhiman <[email protected]> wrote:
> >
> > > On 9/13/05, manomugdha biswas
> > > <[email protected]> wrote:
> > > > Hi,
> > > > I was using interruptible_sleep_on_timeout()
> in
> > > kernel
> > > > 2.4. In kernel 2.6 I have use
> > > > wait_event_interruptible_timeout. But it is
> now
> > > > working!!. interruptible_sleep_on_timeout()
> was
> > > > working fine. Could anyone please help me in
> this
> > > > regard.
> > >
> > > What problem are you facing with
> > > wait_event_interruptible_timeout() in 2.6
> > > Elaborate more on it.
> > >
> > > -Gaurav
> > >
> > > > Regards,
> > > > Mano
> > > >
> > > > Manomugdha Biswas
> > > >
> > > >
> > > >
> > > >
> > >
> >
>
__________________________________________________________
> > > > Yahoo! India Matrimony: Find your partner now.
> Go
> > > to http://yahoo.shaadi.com
> > > > -
> > > > To unsubscribe from this list: send the line
> > > "unsubscribe linux-kernel" in
> > > > the body of a message to
> [email protected]
> > > > More majordomo info at
> > > http://vger.kernel.org/majordomo-info.html
> > > > Please read the FAQ at
> http://www.tux.org/lkml/
> > > >
> > >
> > >
> > > --
> > > - Gaurav
> > > my blog: http://lkdp.blogspot.com/
> > > --
> > > -
> > > To unsubscribe from this list: send the line
> > > "unsubscribe linux-kernel" in
> > > the body of a message to
> [email protected]
> > > More majordomo info at
> > > http://vger.kernel.org/majordomo-info.html
> > > Please read the FAQ at http://www.tux.org/lkml/
> > >
> >
> >
> > Manomugdha Biswas
> >
> >
> >
> >
>
__________________________________________________________
> > Yahoo! India Matrimony: Find your partner now. Go
> to http://yahoo.shaadi.com
> >
>
>
> --
> - Gaurav
> my blog: http://lkdp.blogspot.com/
> --
>


Manomugdha Biswas



__________________________________________________________
Yahoo! India Matrimony: Find your partner now. Go to http://yahoo.shaadi.com