On Thu, Mar 18, 2010 at 9:38 AM, Timo Teras <[email protected]> wrote:
> An utility to manage file locks from scripts.
>
> Signed-off-by: Timo Teras <[email protected]>
> + "unblock\0" No_argument "u"
--unlock, w/o "b"
> + if (command != NULL)
> + argv[0] = command;
> + else
> + argv++;
Doesn't work:
# ./busybox flock README -c /bin/true
flock: -c: No such file or directory
> +
> + if (opt & OPT_u)
> + mode = LOCK_UN;
> + else if (opt & OPT_s)
> + mode = LOCK_SH;
> + else
> + mode = LOCK_EX;
> +
> + if (opt & OPT_n)
> + mode |= LOCK_NB;
> +
> + if (flock(fd, mode) && errno == EWOULDBLOCK)
> + return 1;
> +
> + if (argv[0] != NULL) {
> + pid_t pid;
> +
> + pid = xspawn(argv);
> + waitpid(pid, &status, 0);
> + if (WIFEXITED(status))
> + r = WEXITSTATUS(status);
> + else if (WIFSIGNALED(status))
> + r = WTERMSIG(status) + 128;
> + else
> + r = 1;
> + }
> +
> + return r;
> +}
Applied with code edits. Please try current git.
--
vda
_______________________________________________
busybox mailing list
[email protected]
http://lists.busybox.net/mailman/listinfo/busybox