Date: Thu, 28 Jun 2012 18:16:40 +0000 From: scher@FreeBSD.org To: svn-soc-all@FreeBSD.org Subject: socsvn commit: r238488 - soc2012/scher/par_ports/head/Mk Message-ID: <20120628181640.0438D106564A@hub.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: scher Date: Thu Jun 28 18:16:39 2012 New Revision: 238488 URL: http://svnweb.FreeBSD.org/socsvn/?view=rev&rev=238488 Log: [new_feature] Port does not goes into infinity non-sleeping loop if all deps are currently locked Modified: soc2012/scher/par_ports/head/Mk/bsd.parallel.mk soc2012/scher/par_ports/head/Mk/bsd.port.mk Modified: soc2012/scher/par_ports/head/Mk/bsd.parallel.mk ============================================================================== --- soc2012/scher/par_ports/head/Mk/bsd.parallel.mk Thu Jun 28 17:15:16 2012 (r238487) +++ soc2012/scher/par_ports/head/Mk/bsd.parallel.mk Thu Jun 28 18:16:39 2012 (r238488) @@ -465,6 +465,27 @@ fi; \ done +# TODO: docs needed +_parv_CHECK_ALL_DEPS_LOCKED= \ + if ! [ $${\#depends} -eq 0 ]; then \ + enable_feedback=${_parv_ON_LOCK_FEEDBACK_TIMEOUT}; \ + while true; do \ + for dep in $${depends}; do \ + dir=$${dep\#*:}; \ + { (cd $${dir}; ${MAKE} check-lock > /dev/null 2> /dev/null & wait $$! ) \ + && break 2 || continue; }; \ + done; \ + if [ $$(( $${enable_feedback} % ${_parv_ON_LOCK_FEEDBACK_TIMEOUT} )) -eq 0 ]; then \ + ${ECHO_CMD} "===> All dependencies are currently locked"; \ + ${ECHO_CMD} " Nothing to do"; \ + ${ECHO_CMD} " Waiting ..."; \ + enable_feedback=0; \ + fi; \ + enable_feedback=$$(( $${enable_feedback} + 1 )); \ + sleep ${_parv_CHECK_ACTIVE_TIMEOUT}; \ + done; \ + fi + # # _TERMINATE_PROCESS_TREE - this script contains all magic, related to # terminating of the whole process tree, starting Modified: soc2012/scher/par_ports/head/Mk/bsd.port.mk ============================================================================== --- soc2012/scher/par_ports/head/Mk/bsd.port.mk Thu Jun 28 17:15:16 2012 (r238487) +++ soc2012/scher/par_ports/head/Mk/bsd.port.mk Thu Jun 28 18:16:39 2012 (r238488) @@ -1512,6 +1512,7 @@ _PROCESS_ACTIVE_BUILDS?= ${DO_NADA} _parv_PRINT_ACTIVE_BUILDS?= ${DO_NADA} +_parv_CHECK_ALL_DEPS_LOCKED?= ${DO_NADA} .if !target(lock-port-dbdir) lock-port-dbdir: @@ -5247,6 +5248,7 @@ depends=$$( echo "$${depends}" | sed 's/^[[:space:]]*//' | sed 's/[[:space:]]*$$//' ); \ fi; \ fi; \ + ( ${_parv_CHECK_ALL_DEPS_LOCKED} ); \ ${_PROCESS_ACTIVE_BUILDS}; \ done .endif @@ -5334,6 +5336,7 @@ depends=$$( echo "$${depends}" | sed 's/^[[:space:]]*//' | sed 's/[[:space:]]*$$//' ); \ fi; \ fi; \ + ( ${_parv_CHECK_ALL_DEPS_LOCKED} ); \ ${_PROCESS_ACTIVE_BUILDS}; \ done .endif
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20120628181640.0438D106564A>