From owner-FreeBSD-users-jp@jp.FreeBSD.org Thu Apr 15 16:03:07 2010
Received: (from daemon@localhost)
	by castle.jp.FreeBSD.org (8.11.6p2+3.4W/8.11.3) id o3F737Y74407;
	Thu, 15 Apr 2010 16:03:07 +0900 (JST)
	(envelope-from owner-FreeBSD-users-jp@jp.FreeBSD.org)
Received: from applabo.co.jp (applabo.co.jp [219.117.247.217])
	by castle.jp.FreeBSD.org (8.11.6p2+3.4W/8.11.3) with ESMTP/inet id o3F737P74402
	for <FreeBSD-users-jp@jp.FreeBSD.org>; Thu, 15 Apr 2010 16:03:07 +0900 (JST)
	(envelope-from mojimoji528@yahoo.co.jp)
Received: from [192.168.10.101] (APPLABO1.osaka.applabo.co.jp [192.168.10.101])
	by applabo.co.jp (Postfix) with ESMTP id 3A3DA1B387
	for <FreeBSD-users-jp@jp.FreeBSD.org>; Thu, 15 Apr 2010 16:03:07 +0900 (JST)
From: =?ISO-2022-JP?B?GyRCJGIkOCRiJDgbKEI=?= <mojimoji528@yahoo.co.jp>
To: FreeBSD-users-jp@jp.FreeBSD.org
Message-Id: <20100415153654.FF78.60E52F2C@yahoo.co.jp>
MIME-Version: 1.0
Content-Type: text/plain; charset="ISO-2022-JP"
Content-Transfer-Encoding: 7bit
X-Mailer: Becky! ver. 2.48.01 [ja]
Reply-To: FreeBSD-users-jp@jp.FreeBSD.org
Precedence: list
Date: Thu, 15 Apr 2010 16:03:07 +0900
X-Sequence: FreeBSD-users-jp 92961
Subject: [FreeBSD-users-jp 92961] 7.2 =?ISO-2022-JP?B?GyRCJEcbKEI=?=
 postfix =?ISO-2022-JP?B?GyRCJCwbKEI=?= Bus error( closefrom
 =?ISO-2022-JP?B?GyRCJEcbKEI=?= Bus error )
Sender: owner-FreeBSD-users-jp@jp.FreeBSD.org
X-Originator: mojimoji528@yahoo.co.jp
X-Distribute: distribute version 2.1 (Alpha) patchlevel 24e+060209

$B$b$8$b$8$H?=$7$^$9!#(B

$B:G6a?'!9$J%H%i%C%W$K0z$C$+$+$C$F$^$9!#JY6/ITB-$G$9!#(B

$B$I$s$J@_Dj$r$7$?$N$+NI$/J,$+$C$F$J$$$N$G$9$,!"$J$s$;!"(Bports
$B$+$i(B postfix $B$r(B install $B$7$?$i!"(BBus error $B$GMn$A$^$9!#(B

$B$G!"?'!9D4$Y$F$$$k$N$G$9$,!"7k6I$N=j!"(Bclosefrom $B4X?t$r%7(B
$B%9%F%`%3!<%k$7$FMn$A$F$$$k$h$&$G$9!#(B
# $B$b$7$+$7$?$i!"$=$N@h$K$b%H%i%C%W$O$"$k$+$b$7$l$^$;$s!#(B

closefrom(3); $B$GMn$A$k$N$G$9!#(B

$B$3$N!"(B3 $B$H$$$&0z?t$K$I$s$J0UL#$,$"$k$N$+$OCN$j$^$;$s!#(B

$B$3$l$O!"(B
/usr/src/tools/regression/file/closefrom
$B$K$"$k%W%m%0%i%`$r<B9T$7$FJ,$+$j$^$7$?!#(B

# pwd
/usr/src/tools/regression/file/closefrom
# ./closefrom
1..15
ok 1 - open
ok 2 - highest_fd
Bad system call (core dumped)

# gdb
GNU gdb 6.1.1 [FreeBSD]
Copyright 2004 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB.  Type "show warranty" for details.
This GDB was configured as "i386-marcel-freebsd".
(gdb) file closefrom
Reading symbols from closefrom...done.
(gdb) run
Starting program: /usr/src/tools/regression/file/closefrom/closefrom
1..15
ok 1 - open
ok 2 - highest_fd

Program received signal SIGSYS, Bad system call.
0x280d0d67 in closefrom () from /lib/libc.so.7
(gdb) bt
#0  0x280d0d67 in closefrom () from /lib/libc.so.7
#1  0x08048bc3 in main () at closefrom.c:163
(gdb) list
163             closefrom(3);
164             fd = highest_fd();
165             if (fd != 2)
166                     fail("closefrom", "highest fd %d", fd);
167             ok("closefrom");
168
169             /* Eat up 16 descriptors. */
170             for (i = 0; i < 16; i++)
171                     (void)devnull();
172             fd = highest_fd();

$B$A$J$_$K!"%=!<%9!J0lItH4?h!K$O(B

148         printf("1..15\n");
149
150         /* We better start up with fd's 0, 1, and 2 open. */
151         fd = devnull();
152         if (fd != 3)
153                 fail("open", "bad descriptor %d", fd);
154         ok("open");
155
156         /* Make sure highest_fd() works. */
157         fd = highest_fd();
158         if (fd != 3)
159                 fail("highest_fd", "bad descriptor %d", fd);
160         ok("highest_fd");
161
162         /* Try to use closefrom() for just closing fd 3. */
163         closefrom(3);
164         fd = highest_fd();
165         if (fd != 2)
166                 fail("closefrom", "highest fd %d", fd);
167         ok("closefrom");

$B$H$J$C$F$$$^$9!#(B

$B$5$i$K(B man $B$r8+$k$H!&!&!&(B

The closefrom() function first appeared in FreeBSD 8.0.

$B$J$I$H8@$o$l$^$9!#(B
$B$3$&$J$C$F$/$k$H!";d$K$O$5$C$Q$j$o$+$j$^$;$s!#(B

$B$I$J$?$+%R%s%H$d$-$C$+$1$G$b9=$$$^$;$s$N$G!"2?$r$I$&$9$l(B
$B$PNI$$$N$+%"%I%P%$%9D:$1$^$;$s$G$7$g$&$+!)(B

-- 
$B$b$8$b$8(B <mojimoji528@yahoo.co.jp>

