From owner-FreeBSD-tech-jp@jp.freebsd.org  Wed Feb 26 15:24:47 1997
Received: by jaz.jp.freebsd.org (8.8.5+2.7Wbeta5/8.7.3) id PAA19929
	Wed, 26 Feb 1997 15:24:47 +0900 (JST)
Received: by jaz.jp.freebsd.org (8.8.5+2.7Wbeta5/8.7.3) with SMTP id PAA19924
	for <FreeBSD-tech-jp@jp.freebsd.org>; Wed, 26 Feb 1997 15:24:46 +0900 (JST)
From: candy@fct.kgc.co.jp
Received: from uucp1.iij.ad.jp (uucp1.iij.ad.jp [192.244.176.73]) by mail0.iij.ad.jp (8.6.12+2.4W/3.3W9-MAIL) with ESMTP id PAA22693 for <FreeBSD-tech-jp@jp.freebsd.org>; Wed, 26 Feb 1997 15:24:43 +0900
Received: (from uucp@localhost) by uucp1.iij.ad.jp (8.6.12+2.4W/3.3W9-UUCP) with UUCP id PAA24733 for FreeBSD-tech-jp@jp.freebsd.org; Wed, 26 Feb 1997 15:24:43 +0900
Received: from xxx.fct.kgc.co.jp by vvv.kgc.co.jp (8.7.5/3.5W:96110814) id PAA04162; Wed, 26 Feb 1997 15:21:41 +0900 (JST)
Received: from localhost by xxx.fct.kgc.co.jp (8.8.3/3.3W8:95062916) id PAA16070; Wed, 26 Feb 1997 15:21:40 +0900 (JST)
Message-Id: <199702260621.PAA16070@xxx.fct.kgc.co.jp>
To: FreeBSD-tech-jp@jp.freebsd.org
In-Reply-To: Your message of "Wed, 26 Feb 1997 13:30:04 +0900 (JST)"
References: <199702260430.NAA08635@nile.sysrap.cs.fujitsu.co.jp>
X-Mailer: Mew version 1.06 on Emacs 19.28.2, Mule 2.3
Mime-Version: 1.0
Content-Type: Text/Plain; charset=iso-2022-jp
Date: Wed, 26 Feb 1997 15:21:39 +0900
Reply-To: FreeBSD-tech-jp@jp.freebsd.org
Precedence: bulk
X-Distribute: distribute [version 2.1 (Alpha) patchlevel=19]
X-Sequence: FreeBSD-tech-jp 100
Subject: [FreeBSD-tech-jp 100] Re: jserver patch
Errors-To: owner-FreeBSD-tech-jp@jp.freebsd.org
Sender: owner-FreeBSD-tech-jp@jp.freebsd.org

From: Masahiro Sekiguchi <seki@sysrap.cs.fujitsu.co.jp>
Subject: [FreeBSD-tech-jp 93] Re: jserver patch
Date: Wed, 26 Feb 1997 13:30:04 +0900 (JST)

> $B$?$@!"(Bdup2 $B$OI,$:$7$bA4$F$N(B unix $B$K$"$k$o$1$8$c$J$$$7!"(B($B:G6a$N%7%9%F%`(B

dup(2) $B$r;H$C$?(B dup2(2) $B$N<BAu$J$i!"$3$s$J46$8$G$9$+(B($BL5J]>Z(B)

-------8<--------------8<-------
/*
 * dup2 for V7
 */
int maybedup2(s, d)
int s, d;
{
	int fd, fd2;
	close(d);
	fd = dup(s);
	if (fd == d || fd < 0)
		return fd;
	else if (fd > d) { /* can't happen */
		close(fd);
		return -1;
	}
	else {
		fd2 = maybedup2(s, d);
		close(fd);
		return fd2;
	}
}

#ifdef TEST
int main(int ac, char *av[])
{
	if (ac == 3) {
		int s = strtol(av[1], 0, 0), d = strtol(av[2], 0, 0);
		int i, x = maybedup2(s, d);
		printf("dup2(%d, %d) = %d\n", s, d, x);
		for (i = 0; i < 20; i++) {
			printf("open() = %d\n", open("/dev/null", 1));
		}
	}
	return 0;
}
#endif
-------8<--------------8<-------

> $B2?$+(B #ifdef $B$G0O$`$Y$-$@$H;W$&$N$@$,!"$I$&$$$&%^%/%m$G0O$a$P$$$$$+!"$A$g$C(B
> $B$HFq$7$$%b%N$,$"$j$^$9$M!#(B

FreeBSD $B$N(B malloc(3) $B$N(B kluge $B$r2sHr$9$k0Y$N%3!<%I$H$$$&4QE@$J$i!"(B
#ifdef __FreeBSD__ $B$G$7$g$&$+(B?

candy@fct.kgc.co.jp ($B?@EDIR9-(B)
