diff options
Diffstat (limited to 'meta/recipes-core/busybox/busybox/0001-flock-update-the-behaviour-of-c-parameter-to-match-u.patch')
-rw-r--r-- | meta/recipes-core/busybox/busybox/0001-flock-update-the-behaviour-of-c-parameter-to-match-u.patch | 64 |
1 files changed, 0 insertions, 64 deletions
diff --git a/meta/recipes-core/busybox/busybox/0001-flock-update-the-behaviour-of-c-parameter-to-match-u.patch b/meta/recipes-core/busybox/busybox/0001-flock-update-the-behaviour-of-c-parameter-to-match-u.patch deleted file mode 100644 index 78520f0d90..0000000000 --- a/meta/recipes-core/busybox/busybox/0001-flock-update-the-behaviour-of-c-parameter-to-match-u.patch +++ /dev/null @@ -1,64 +0,0 @@ -From e1d426fd65c00a6d01a10d85edf8a294ae8a2d2b Mon Sep 17 00:00:00 2001 -From: Denys Vlasenko <vda.linux@googlemail.com> -Date: Sun, 24 Apr 2016 18:19:49 +0200 -Subject: [PATCH] flock: fix -c; improve error handling of fork+exec - -function old new delta -flock_main 254 334 +80 - -Upstream-Status: Backport - -Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com> -Signed-off-by: Maxin B. John <maxin.john@intel.com> ---- - util-linux/flock.c | 19 +++++++++++++++++-- - 1 file changed, 17 insertions(+), 2 deletions(-) - -diff --git a/util-linux/flock.c b/util-linux/flock.c -index 05a747f..539a835 100644 ---- a/util-linux/flock.c -+++ b/util-linux/flock.c -@@ -57,7 +57,6 @@ int flock_main(int argc UNUSED_PARAM, char **argv) - /* If it is "flock FILE -c PROG", then -c isn't caught by getopt32: - * we use "+" in order to support "flock -opt FILE PROG -with-opts", - * we need to remove -c by hand. -- * TODO: in upstream, -c 'PROG ARGS' means "run sh -c 'PROG ARGS'" - */ - if (argv[0] - && argv[0][0] == '-' -@@ -66,6 +65,9 @@ int flock_main(int argc UNUSED_PARAM, char **argv) - ) - ) { - argv++; -+ if (argv[1]) -+ bb_error_msg_and_die("-c takes only one argument"); -+ opt |= OPT_c; - } - - if (OPT_s == LOCK_SH && OPT_x == LOCK_EX && OPT_n == LOCK_NB && OPT_u == LOCK_UN) { -@@ -90,8 +92,21 @@ int flock_main(int argc UNUSED_PARAM, char **argv) - bb_perror_nomsg_and_die(); - } - -- if (argv[0]) -+ if (argv[0]) { -+ if (!(opt & OPT_c)) { -+ int rc = spawn_and_wait(argv); -+ if (rc < 0) -+ bb_simple_perror_msg(argv[0]); -+ return rc; -+ } -+ /* -c 'PROG ARGS' means "run sh -c 'PROG ARGS'" */ -+ argv -= 2; -+ argv[0] = (char*)get_shell_name(); -+ argv[1] = (char*)"-c"; -+ /* argv[2] = "PROG ARGS"; */ -+ /* argv[3] = NULL; */ - return spawn_and_wait(argv); -+ } - - return EXIT_SUCCESS; - } --- -2.4.0 - |