-
- if (GNUNET_SYSERR == (ret = GNUNET_OS_process_status(pos->pid, &statusType, &statusCode)))
- continue;
- if ( (ret == GNUNET_NO) ||
- (statusType == GNUNET_OS_PROCESS_STOPPED) ||
- (statusType == GNUNET_OS_PROCESS_RUNNING) )
- continue;
+
+ next = pos->next;
+ if (pos->pid == 0)
+ {
+ if (NULL != pos->kill_continuation)
+ {
+ if (prev == NULL)
+ running = next;
+ else
+ prev->next = next;
+ pos->kill_continuation (pos->kill_continuation_cls, pos);
+ }
+ continue;
+ }
+ if ( (GNUNET_SYSERR == (ret = GNUNET_OS_process_status(pos->pid,
+ &statusType,
+ &statusCode))) ||
+ ( (ret == GNUNET_NO) ||
+ (statusType == GNUNET_OS_PROCESS_STOPPED) ||
+ (statusType == GNUNET_OS_PROCESS_RUNNING) ) )
+ {
+ prev = pos;
+ continue;
+ }