Linus Torvalds writes: (Summary) It's also "is it actually up
and running".
and running".
The rule for "request_module()" (for a real module) has been that it returns when the module is actually alive and active and have done their initcalls.
their initcalls.
The UMH_WAIT_EXEC behavior (ignore the serialization - you could do that in the caller) behavior doesn't actually have any semantics AT ALL. It only means that you get the error returns from execve() itself, so you know that the executable file actually existed and parsed right enough to get started.
parsed right enough to get started.
But you don't actually have any reason to believe that it has *done* anything, and started processing any requests.
and running".
The rule for "request_module()" (for a real module) has been that it returns when the module is actually alive and active and have done their initcalls.
their initcalls.
The UMH_WAIT_EXEC behavior (ignore the serialization - you could do that in the caller) behavior doesn't actually have any semantics AT ALL. It only means that you get the error returns from execve() itself, so you know that the executable file actually existed and parsed right enough to get started.
parsed right enough to get started.
But you don't actually have any reason to believe that it has *done* anything, and started processing any requests.