module function design question.

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

 



Hello,

I have a function that adds itself to a wait queue and waits for an event
to wake it up, then on any (fatal) error condition or when it finishes, it
needs to readd itself to the wait queue and wait for the same event to
happen again later. What I am doing right now is just adding to myself to
the wait queue first thing in the function, then calling myself
recursivley where necessary, but as i understand it, the stack space in
the kernel is somewhat limited (anyone know exactly what the limits are?)
and it seems to me that a function that never returns will net call ret,
and thus each time it calls itself the stack will be decremented to make
room for the new frame (assuming it all works the same in the kernel as it
does in user space), and thus over a long enough time line I should run
out of stack space? Are my thoughts there correct, and what would be a
better way to accomplish the same thing?


Thanks,
jnf

--
Kernelnewbies: Help each other learn about the Linux kernel.
Archive:       http://mail.nl.linux.org/kernelnewbies/
FAQ:           http://kernelnewbies.org/faq/



[Index of Archives]     [Newbies FAQ]     [Linux Kernel Mentors]     [Linux Kernel Development]     [IETF Annouce]     [Git]     [Networking]     [Security]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux SCSI]     [Linux ACPI]
  Powered by Linux