* Yousong Zhou <[email protected]> [23.11.2013 17:01]:
> > was puzzles me: the "PID_inside" is the same like from the main-script.
> > should'nt it change?
> 
> It's weird. I found the following description from bash manual [1] that
> `$$`:
> 
>       Expands to the process ID of the shell.  In a () subshell, it
>       expands to the process ID of the current shell, not the sub‐
>       shell.

thanks for digging into this:
so it's really a subshell when running in ( . $script )
and maybe we can avoid this.

> > i also found, that it is possible to simply change all calls to "exit"
> > to a "return", so the sourcing of a script will be aborted and no
> > subshell is needed anymore.
> > 
> > this must be somehow "enforced" by the openwrt-build: all files in
> > "/etc/hotplug.d/"* cannot have the keyword "exit" in there 8-) otherwise
> > we break the execution of further calls in the loop...
> 
> I agree with you. Script handlers for the same event should not
> intervene with each other.

ok, i'am ok with changing all those scripts - it's not easy
to find them because they are not "marked" somehow and not
neccessary in /etc/hotplug.d/ - but i will find a way to identify
them. for the devs: are you OK with such a change?:

first update all hotplug-scripts to work without 'exit', then
change the /sbin/hotplug-call to '. $script' instead of ( . $script )

bye, bastian
_______________________________________________
openwrt-devel mailing list
[email protected]
https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel

Reply via email to