From 8aed1fcd443b550c15a21ddbf1b1d3899803120a Mon Sep 17 00:00:00 2001 From: Waldemar Brodkorb Date: Sun, 30 Mar 2014 15:55:20 +0200 Subject: rework hosttools building, add tools into package stuff --- tools/cpio/src/ib_popen.c | 87 ----------------------------------------------- 1 file changed, 87 deletions(-) delete mode 100644 tools/cpio/src/ib_popen.c (limited to 'tools/cpio/src/ib_popen.c') diff --git a/tools/cpio/src/ib_popen.c b/tools/cpio/src/ib_popen.c deleted file mode 100644 index 9aa873042..000000000 --- a/tools/cpio/src/ib_popen.c +++ /dev/null @@ -1,87 +0,0 @@ -/* - * Copyright (c) 2003 Gunnar Ritter - * - * This software is provided 'as-is', without any express or implied - * warranty. In no event will the authors be held liable for any damages - * arising from the use of this software. - * - * Permission is granted to anyone to use this software for any purpose, - * including commercial applications, and to alter it and redistribute - * it freely, subject to the following restrictions: - * - * 1. The origin of this software must not be misrepresented; you must not - * claim that you wrote the original software. If you use this software - * in a product, an acknowledgment in the product documentation would be - * appreciated but is not required. - * - * 2. Altered source versions must be plainly marked as such, and must not be - * misrepresented as being the original software. - * - * 3. This notice may not be removed or altered from any source distribution. - */ -/* Sccsid @(#)ib_popen.c 1.2 (gritter) 4/17/03 */ - -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include "iblok.h" - -struct iblok * -ib_popen(const char *cmd, unsigned blksize) -{ - struct iblok *ip; - int fd[2], err; - pid_t pid; - char *shell; - - if (pipe(fd) < 0) - return NULL; - switch (pid = fork()) { - case -1: - return NULL; - case 0: - close(fd[0]); - dup2(fd[1], 1); - close(fd[1]); - if ((shell = getenv("SHELL")) == NULL) - shell = "/bin/sh"; - execl(shell, shell, "-c", cmd, NULL); - _exit(0177); - /*NOTREACHED*/ - } - close(fd[1]); - if ((ip = ib_alloc(fd[0], blksize)) == NULL) { - err = errno; - close(fd[0]); - errno = err; - } - ip->ib_pid = pid; - return ip; -} - -int -ib_pclose(struct iblok *ip) -{ - struct sigaction oldhup, oldint, oldquit, act; - int status; - - close(ip->ib_fd); - act.sa_handler = SIG_IGN; - sigemptyset(&act.sa_mask); - act.sa_flags = 0; - sigaction(SIGHUP, &act, &oldhup); - sigaction(SIGINT, &act, &oldint); - sigaction(SIGQUIT, &act, &oldquit); - while (waitpid(ip->ib_pid, &status, 0) < 0 && errno == EINTR); - sigaction(SIGHUP, &oldhup, NULL); - sigaction(SIGINT, &oldint, NULL); - sigaction(SIGQUIT, &oldquit, NULL); - return status; -} -- cgit v1.2.3