Index: trunk/Ohana/src/opihi/pcontrol/CheckRespHost.c
===================================================================
--- trunk/Ohana/src/opihi/pcontrol/CheckRespHost.c	(revision 17476)
+++ trunk/Ohana/src/opihi/pcontrol/CheckRespHost.c	(revision 25872)
@@ -32,5 +32,17 @@
       host[0].response = NULL;
 
-      // host has shutdown; harvest the defunct process
+      // if want the host to be shutdown, accept the result
+      if (host[0].response_state == PCONTROL_RESP_DOWN_HOST) {
+	if (DEBUG) fprintf (stderr, "PCONTROL_RESP_DOWN_HOST\n");
+	DownHostResponse (host);
+	return TRUE;
+      }	
+      if (host[0].response_state == PCONTROL_RESP_STOP_HOST) {
+	if (DEBUG) fprintf (stderr, "PCONTROL_RESP_STOP_HOST\n");
+	StopHostResponse (host);
+	return TRUE;
+      }
+
+      // host has unexpectedly shutdown; harvest the defunct process
       HarvestHost (host[0].pid);
       PutHost (host, PCONTROL_HOST_DOWN, STACK_BOTTOM);
@@ -47,5 +59,4 @@
 
     case PCLIENT_GOOD:
-      if (VerboseMode()) gprint (GP_ERR, "message received (CheckRespHost)\n");  
       break;
 
@@ -80,4 +91,9 @@
       break;
 
+    case PCONTROL_RESP_DOWN_HOST:
+      if (DEBUG) fprintf (stderr, "PCONTROL_RESP_DOWN_HOST\n");
+      status = DownHostResponse (host);
+      break;
+
     case PCONTROL_RESP_STOP_HOST:
       if (DEBUG) fprintf (stderr, "PCONTROL_RESP_STOP_HOST\n");
