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

Bug#333522: possible problem cause: wait4(-1)



I had a very simliar problem on Red Hat a while ago.

The scenario was as follows:

0. the module loading tool runs during boot with PID 1.
1. tool calls insmod for several stacked modules.
2. forks insmod for module 1
3. waits for insmod's completion with wait4(-1).
4. Some other process (e.g. /sbin/hotplug) terminates
5. wait4(-1) returns because the terminated process is a child of PID 1
6. tool doesn't check PID returned by wait4() and assumes it was the insmod process
7. forks insmod for module 2

=> module 2 gets loaded before initialization of module 1 is finished.
=> unresolved symbols

Possible workarounds:
a) check PID returned by wait4() and only continue if it matches the
   forked insmod's PID
b) fork() right after tool startup so that the calling tool isn't running with PID 1.

Could this be the problem cause here, too?
Regards
Martin

--
Martin Wilck                Phone: +49 5251 8 15113
Fujitsu Siemens Computers   Fax:   +49 5251 8 20409
Heinz-Nixdorf-Ring 1        mailto:Martin.Wilck@Fujitsu-Siemens.com
D-33106 Paderborn           http://www.fujitsu-siemens.com/primergy



Reply to: