Hi all,

I came across a question when review other's module code.

something like:

int __init module_init()
{
down_interruptible(the_big_module_sem);
// code for init...
up(the_big_module_sem);
}

void __exit module_exit()
{
down_interruptible(the_big_module_sem);
// code for exit...
up(the_big_module_sem);
}

My question is:
- Is the lock truly necessary?
- If adding it into code, what happens?

Thank you
-- Jerry