Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
View | Details | Raw Unified | Return to bug 197104
Collapse All | Expand All

(-)a/os/utils.c (+8 lines)
Lines 1720-1725 static struct pid { Link Here
1720
    int pid;
1720
    int pid;
1721
} *pidlist;
1721
} *pidlist;
1722
1722
1723
static struct sigaction *old_alarm= NULL; /* XXX horrible awful hack */
1724
1723
pointer
1725
pointer
1724
Popen(char *command, char *type)
1726
Popen(char *command, char *type)
1725
{
1727
{
Lines 1741-1751 Popen(char *command, char *type) Link Here
1741
	return NULL;
1743
	return NULL;
1742
    }
1744
    }
1743
1745
1746
    /* Ignore the smart scheduler while this is going on */
1747
    sigaction(SIGALRM, SIG_IGN, old_alarm);
1748
1744
    switch (pid = fork()) {
1749
    switch (pid = fork()) {
1745
    case -1: 	/* error */
1750
    case -1: 	/* error */
1746
	close(pdes[0]);
1751
	close(pdes[0]);
1747
	close(pdes[1]);
1752
	close(pdes[1]);
1748
	xfree(cur);
1753
	xfree(cur);
1754
	sigaction(SIGALRM, old_alarm, NULL);
1749
	return NULL;
1755
	return NULL;
1750
    case 0:	/* child */
1756
    case 0:	/* child */
1751
	if (setgid(getgid()) == -1)
1757
	if (setgid(getgid()) == -1)
Lines 1921-1926 Pclose(pointer iop) Link Here
1921
    /* allow EINTR again */
1927
    /* allow EINTR again */
1922
    OsReleaseSignals ();
1928
    OsReleaseSignals ();
1923
    
1929
    
1930
    sigaction(SIGALRM, old_alarm,NULL);
1931
1924
    return pid == -1 ? -1 : pstat;
1932
    return pid == -1 ? -1 : pstat;
1925
}
1933
}
1926
1934

Return to bug 197104