+ int i;
+ simdata_process_t p_simdata = process->simdata;
+ simdata_host_t h_simdata= p_simdata->host->simdata;
+
+/* fprintf(stderr,"Killing %s(%d) on %s.\n",process->name, */
+/* p_simdata->PID,p_simdata->host->name); */
+
+ for (i=0; i<msg_global->max_channel; i++) {
+ if (h_simdata->sleeping[i] == process) {
+ h_simdata->sleeping[i] = NULL;
+ break;
+ }
+ }
+ if (i==msg_global->max_channel) {
+ if(p_simdata->waiting_task) {
+ if(p_simdata->waiting_task->simdata->compute)
+ surf_workstation_resource->common_public->
+ action_free(p_simdata->waiting_task->simdata->compute);
+ else if (p_simdata->waiting_task->simdata->comm)
+ surf_workstation_resource->common_public->
+ action_change_state(p_simdata->waiting_task->simdata->comm,SURF_ACTION_FAILED);
+ else
+ fprintf(stderr,"UNKNOWN STATUS. Please report this bug.\n");
+ } else { /* Must be trying to put a task somewhere */
+ fprintf(stderr,"UNKNOWN STATUS. Please report this bug.\n");
+ }
+ }
+