From 4af18f43633a19ceb38848901306dcf5f46074d5 Mon Sep 17 00:00:00 2001 From: mb Date: Fri, 29 Oct 2010 14:53:16 +0000 Subject: [PATCH] Add macro for locking of recipe commands. git-svn-id: svn://svn.openwrt.org/openwrt/trunk@23708 3c298f89-4303-0410-b956-a3cf2f4a3e73 --- rules.mk | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/rules.mk b/rules.mk index 23445bfae..007e5bc9b 100644 --- a/rules.mk +++ b/rules.mk @@ -249,6 +249,16 @@ define include_mk $(eval -include $(if $(DUMP),,$(STAGING_DIR)/mk/$(strip $(1)))) endef +# Execute commands under flock +# $(1) => The shell expression. +# $(2) => The lock name. If not given, the global lock will be used. +# $(3) => The filedescriptor used for the lock. Defaults to 1023. +define locked + ( $(STAGING_DIR_HOST)/bin/flock -x $(if $(3),$(3),1023) && \ + $(1) \ + ) $(if $(3),$(strip $(3)),1023)>$(TMP_DIR)/.$(if $(2),$(strip $(2)),global).flock +endef + # file extension ext=$(word $(words $(subst ., ,$(1))),$(subst ., ,$(1))) -- 2.20.1