Hello all:
I am implementing a scheduler in the kernel for scheduling the
transmission of cells. I have a function to queue the packet to
one of the three queues (skb lists) that I maintain. I also
have the scheduler function that goes off periodically and reads
from the queues and sends it out on the actual interface.
When I close the socket, I want to ensure that all the cells have
been transmitted, so from close, I do this:
{
save_flags(flags);
cli();
qos->wait_flag=1;
interruptible_sleep_on(&qos->wq);
restore_flags(flags);
}
And in the scheduler, I do
if (!queues_empty && qos->wait_flag==1)
{
save_flags(flags);
cli();
wake_up_interruptible(&qos->wq);
qos->wait_flag=0;
restore_flags(flags);
}
But when I execute this, the machine crashes at interruptible_sleep_on.
It actually crahes in the schedule () function in interruptible_sleep_on.
I am not sure if I am using interruptible_sleep_on & wake_up_interruptible
the right way.
Any help would be highly appreciated.
Thanks,
Sarav
-
To unsubscribe from this list: send the line "unsubscribe linux-net" in
the body of a message to [EMAIL PROTECTED]