@@ -709,8 +709,11 @@ svc_start_deps(void)
709709	tmplist  =  rc_stringlist_new ();
710710	TAILQ_FOREACH (svc , services , entries ) {
711711		state  =  rc_service_state (svc -> value );
712- 		if  (state  &  RC_SERVICE_STARTED )
712+ 		if  (state  &  RC_SERVICE_STARTED ) {
713+ 			if  (!rc_import_variables (svc -> value ))
714+ 				eerror ("%s: failed to import variables from %s: %s" , applet , svc -> value , strerror (errno ));
713715			continue ;
716+ 		}
714717
715718		/* Don't wait for services which went inactive but are 
716719		 * now in starting state which we are after */ 
@@ -727,8 +730,11 @@ svc_start_deps(void)
727730			eerror ("%s: timed out waiting for %s" ,
728731			    applet , svc -> value );
729732		state  =  rc_service_state (svc -> value );
730- 		if  (state  &  RC_SERVICE_STARTED )
733+ 		if  (state  &  RC_SERVICE_STARTED ) {
734+ 			if  (!rc_import_variables (svc -> value ))
735+ 				eerror ("%s: failed to import variables from %s: %s" , applet , svc -> value , strerror (errno ));
731736			continue ;
737+ 		}
732738		if  (rc_stringlist_find (need_services , svc -> value )) {
733739			if  (state  &  RC_SERVICE_INACTIVE  || 
734740			    state  &  RC_SERVICE_WASINACTIVE )
@@ -833,6 +839,8 @@ static void svc_start_real(void)
833839static  void 
834840svc_start (void )
835841{
842+ 	if  (!rc_import_variables (NULL ))
843+ 		eerror ("%s: failed to import variables: %s" , applet , strerror (errno ));
836844	if  (dry_run )
837845		einfon ("start:" );
838846	else 
@@ -943,8 +951,9 @@ svc_stop_deps(RC_SERVICE state)
943951		return ;
944952
945953	TAILQ_FOREACH (svc , tmplist , entries ) {
946- 		if  (rc_service_state (svc -> value ) &  RC_SERVICE_STOPPED )
954+ 		if  (rc_service_state (svc -> value ) &  RC_SERVICE_STOPPED ) { 
947955			continue ;
956+ 		}
948957		svc_wait (svc -> value );
949958		if  (rc_service_state (svc -> value ) &  RC_SERVICE_STOPPED )
950959			continue ;
@@ -1015,9 +1024,10 @@ svc_stop_real(void)
10151024static  int 
10161025svc_stop (void )
10171026{
1018- 	RC_SERVICE  state ;
1027+ 	RC_SERVICE  state  =  0 ;
1028+ 
1029+ 	rc_import_variables (NULL );
10191030
1020- 	state  =  0 ;
10211031	if  (dry_run )
10221032		einfon ("stop:" );
10231033	else 
0 commit comments