lantiq: Synchronize access to the DSL command pipe
authorJohn Crispin <john@openwrt.org>
Mon, 19 Oct 2015 10:08:56 +0000 (10:08 +0000)
committerJohn Crispin <john@openwrt.org>
Mon, 19 Oct 2015 10:08:56 +0000 (10:08 +0000)
Whenever two processes were executing different commands at the same
time then one of the commands sometimes got the response of the other
command.

Signed-off-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
SVN-Revision: 47213

target/linux/lantiq/base-files/lib/functions/lantiq_dsl.sh

index dbeb344cde7525d25238c817c244d6fce1c8484e..22e65cb148123ab88502ac63448d864494983f6b 100755 (executable)
@@ -12,8 +12,10 @@ fi
 #
 dsl_cmd() {
        killall -0 ${XDSL_CTRL} && (
+               lock /var/lock/dsl_pipe
                echo "$@" > /tmp/pipe/dsl_cpe0_cmd
                cat /tmp/pipe/dsl_cpe0_ack
+               lock -u /var/lock/dsl_pipe
        )
 }
 dsl_val() {