2012/8/16 Amarnath Revanna <amarnath.revanna@gmail.com>
Hi Vijay,
Is this a loadable kernel module or a built-in module? If it is a loadable module, everything still remains in the memory without being freed.
Functions and data defined with __init gets freed after their execution only if these are part of built-in kernel modules.
In your case, if the module is a loadable one, you can still access the print_k() from hello_exit() as its still residing in memory.
Regards, -Amar
Hi Amar Thank you very much for reply. I often write loadable modules,but know little about built-in modules,can you tell something about built-in modules? or,how i can take a built-in module into the kernel?
On Thu, Aug 16, 2012 at 5:23 PM, Vijay Chauhan <kernel.vijay@gmail.com>wrote:
Hi,
On Tue, Aug 14, 2012 at 9:34 AM, Mulyadi Santosa <mulyadi.santosa@gmail.com> wrote:
Hi.. :)
On Tue, Aug 14, 2012 at 9:14 AM, 王哲 <wangzhe5004@gmail.com> wrote:
i use the __init for function print_k. in my opinion after the fisrt invoking the print_k in the hello_init. the memory of print_k will be freed,and the second invoking will not be executed.but the result of second invoking is executing .
why?
because you're still in module_init.... :)
right after modul init stage is done, _init marked function is thrown away...
Even if we call print_k() function inside hello_exit, it still works. At that point __init hello_init execution is over. How its still working?
Regards, Vijay
-- regards,
Mulyadi Santosa Freelance Linux trainer and consultant
blog: the-hydra.blogspot.com training: mulyaditraining.blogspot.com
_______________________________________________ Kernelnewbies mailing list Kernelnewbies@kernelnewbies.org http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies
_______________________________________________ Kernelnewbies mailing list Kernelnewbies@kernelnewbies.org http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies