use wait to avoid blocking the SIGTERM handler
This commit is contained in:
		@@ -155,12 +155,17 @@ var _ = SIGDescribe("Deleted pods handling [NodeConformance]", func() {
 | 
			
		||||
							Image:   imageutils.GetE2EImage(imageutils.BusyBox),
 | 
			
		||||
							Command: []string{"sh", "-c"},
 | 
			
		||||
							Args: []string{`
 | 
			
		||||
							sleep 9999999 &
 | 
			
		||||
							PID=$!
 | 
			
		||||
							_term() {
 | 
			
		||||
								kill $PID
 | 
			
		||||
								echo "Caught SIGTERM signal!"
 | 
			
		||||
								exit 0
 | 
			
		||||
							}
 | 
			
		||||
 | 
			
		||||
							trap _term SIGTERM
 | 
			
		||||
							while true; do sleep 5; done
 | 
			
		||||
							wait $PID
 | 
			
		||||
 | 
			
		||||
							exit 0
 | 
			
		||||
							`,
 | 
			
		||||
							},
 | 
			
		||||
						},
 | 
			
		||||
 
 | 
			
		||||
@@ -560,6 +560,11 @@ func getPriorityClass(name string, value int32) *schedulingv1.PriorityClass {
 | 
			
		||||
	}
 | 
			
		||||
	return priority
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// getGracePeriodOverrideTestPod returns a new Pod object containing a container
 | 
			
		||||
// runs a shell script, hangs the process until a SIGTERM signal is received.
 | 
			
		||||
// The script waits for $PID to ensure that the process does not exist.
 | 
			
		||||
// If priorityClassName is scheduling.SystemNodeCritical, the Pod is marked as critical and a comment is added.
 | 
			
		||||
func getGracePeriodOverrideTestPod(name string, node string, gracePeriod int64, priorityClassName string) *v1.Pod {
 | 
			
		||||
	pod := &v1.Pod{
 | 
			
		||||
		TypeMeta: metav1.TypeMeta{
 | 
			
		||||
@@ -576,12 +581,15 @@ func getGracePeriodOverrideTestPod(name string, node string, gracePeriod int64,
 | 
			
		||||
					Image:   busyboxImage,
 | 
			
		||||
					Command: []string{"sh", "-c"},
 | 
			
		||||
					Args: []string{`
 | 
			
		||||
					sleep 9999999 &
 | 
			
		||||
					PID=$!
 | 
			
		||||
					_term() {
 | 
			
		||||
						echo "Caught SIGTERM signal!"
 | 
			
		||||
	while true; do sleep 5; done
 | 
			
		||||
						wait $PID
 | 
			
		||||
					}
 | 
			
		||||
					
 | 
			
		||||
					trap _term SIGTERM
 | 
			
		||||
while true; do sleep 5; done
 | 
			
		||||
					wait $PID
 | 
			
		||||
					`},
 | 
			
		||||
				},
 | 
			
		||||
			},
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user