VIR_FORCE_CLOSE(statuspipe[1]);
/* We wait to make sure the first child forked successfully */
- if (virPidWait(pid, NULL) < 0)
+ if (virProcessWait(pid, NULL) < 0)
goto error;
/* If we get here, then the grandchild was spawned, so we
virCommandWait;
virCommandWriteArgLog;
virFork;
-virPidAbort;
-virPidWait;
+virProcessAbort;
+virProcessWait;
virRun;
virReportSystemError(errno, "%s",
_("Unable to clone to check reboot support"));
return -1;
- } else if (virPidWait(cpid, &status) < 0) {
+ } else if (virProcessWait(cpid, &status) < 0) {
return -1;
}
VIR_DEBUG("clone call returned %s, container support is not enabled",
virStrerror(errno, ebuf, sizeof(ebuf)));
return -1;
- } else if (virPidWait(cpid, NULL) < 0) {
+ } else if (virProcessWait(cpid, NULL) < 0) {
return -1;
}
return;
virLXCControllerCloseLoopDevices(ctrl, true);
- virPidAbort(ctrl->initpid);
+ virProcessAbort(ctrl->initpid);
ctrl->initpid = 0;
}
VIR_FORCE_CLOSE(sock->fd);
VIR_FORCE_CLOSE(sock->errfd);
- virPidAbort(sock->pid);
+ virProcessAbort(sock->pid);
VIR_FREE(sock->localAddrStr);
VIR_FREE(sock->remoteAddrStr);
* @status: child exit status to translate
*
* Translate an exit status into a malloc'd string. Generic helper
- * for virCommandRun(), virCommandWait(), virRun(), and virPidWait()
+ * for virCommandRun(), virCommandWait(), virRun(), and virProcessWait()
* status argument, as well as raw waitpid().
*/
char *
* for pid. While cmd is still in scope, you may reap the child via
* virCommandWait or virCommandAbort. But after virCommandFree, if
* you have not yet reaped the child, then it continues to run until
- * you call virPidWait or virPidAbort.
+ * you call virProcessWait or virProcessAbort.
*/
int
virCommandRunAsync(virCommandPtr cmd, pid_t *pid)
/**
- * virPidWait:
+ * virProcessWait:
* @pid: child to wait on
* @exitstatus: optional status collection
*
* child must exit with status 0 for this to succeed.
*/
int
-virPidWait(pid_t pid, int *exitstatus)
+virProcessWait(pid_t pid, int *exitstatus)
{
int ret;
int status;
return -1;
}
- /* If virPidWait reaps pid but then returns failure because
+ /* If virProcessWait reaps pid but then returns failure because
* exitstatus was NULL, then a second virCommandWait would risk
* calling waitpid on an unrelated process. Besides, that error
* message is not as detailed as what we can provide. So, we
- * guarantee that virPidWait only fails due to failure to wait,
+ * guarantee that virProcessWait only fails due to failure to wait,
* and repeat the exitstatus check code ourselves. */
- ret = virPidWait(cmd->pid, exitstatus ? exitstatus : &status);
+ ret = virProcessWait(cmd->pid, exitstatus ? exitstatus : &status);
if (ret == 0) {
cmd->pid = -1;
cmd->reap = false;
#ifndef WIN32
/**
- * virPidAbort:
+ * virProcessAbort:
* @pid: child process to kill
*
* Abort a child process if PID is positive and that child is still
* this does nothing.
*/
void
-virPidAbort(pid_t pid)
+virProcessAbort(pid_t pid)
{
int saved_errno;
int ret;
{
if (!cmd || cmd->pid == -1)
return;
- virPidAbort(cmd->pid);
+ virProcessAbort(cmd->pid);
cmd->pid = -1;
cmd->reap = false;
}
#else /* WIN32 */
void
-virPidAbort(pid_t pid)
+virProcessAbort(pid_t pid)
{
/* Not yet ported to mingw. Any volunteers? */
VIR_DEBUG("failed to reap child %lld, abandoning it", (long long)pid);
*
* Release all resources. The only exception is that if you called
* virCommandRunAsync with a non-null pid, then the asynchronous child
- * is not reaped, and you must call virPidWait() or virPidAbort() yourself.
+ * is not reaped, and you must call virProcessWait() or virProcessAbort() yourself.
*/
void
virCommandFree(virCommandPtr cmd)
int virCommandRunAsync(virCommandPtr cmd,
pid_t *pid) ATTRIBUTE_RETURN_CHECK;
-int virPidWait(pid_t pid,
- int *exitstatus) ATTRIBUTE_RETURN_CHECK;
+int virProcessWait(pid_t pid,
+ int *exitstatus) ATTRIBUTE_RETURN_CHECK;
int virCommandWait(virCommandPtr cmd,
int *exitstatus) ATTRIBUTE_RETURN_CHECK;
int virCommandHandshakeNotify(virCommandPtr cmd)
ATTRIBUTE_RETURN_CHECK;
-void virPidAbort(pid_t pid);
+void virProcessAbort(pid_t pid);
void virCommandAbort(virCommandPtr cmd);
}
if (pid) { /* parent */
- if (virPidWait(pid, &status) < 0) {
- /* virPidWait() already
+ if (virProcessWait(pid, &status) < 0) {
+ /* virProcessWait() already
* reported error */
- return -1;
+ return -1;
}
if (!WIFEXITED(status)) {
VIR_FORCE_CLOSE(pipefd[1]);
len = virFileReadLimFD(pipefd[0], maxlen, buf);
VIR_FORCE_CLOSE(pipefd[0]);
- if (virPidWait(pid, NULL) < 0)
+ if (virProcessWait(pid, NULL) < 0)
return -1;
return len;
} else {
int i, status;
for (i = 0 ; i < mp ; i++) {
- if (virPidWait(workers[i], NULL) < 0)
+ if (virProcessWait(workers[i], NULL) < 0)
ret = EXIT_FAILURE;
}
VIR_FREE(workers);