From owner-FreeBSD-users-jp@jp.freebsd.org  Thu Sep  7 17:30:42 2000
Received: (from daemon@localhost)
	by castle.jp.freebsd.org (8.9.3+3.2W/8.7.3) id RAA80646;
	Thu, 7 Sep 2000 17:30:42 +0900 (JST)
	(envelope-from owner-FreeBSD-users-jp@jp.FreeBSD.org)
Received: from tatsugoro.sophia-systems.co.jp (tatsugoro.sophia-systems.co.jp [210.169.129.129])
	by castle.jp.freebsd.org (8.9.3+3.2W/8.7.3) with SMTP id RAA80641
	for <FreeBSD-users-jp@jp.freebsd.org>; Thu, 7 Sep 2000 17:30:41 +0900 (JST)
	(envelope-from takei@sophia-systems.co.jp)
Received: from mailsrv2.sophia-systems.co.jp ([192.168.100.6]) by tatsugoro.sophia-systems.co.jp
          via smtpd (for castle.jp.FreeBSD.org [210.226.20.15]) with SMTP; 8 Sep 2000 00:39:06 UT
Received: from sophia-systems.co.jp ([192.168.220.162])
          by mailsrv2.sophia-systems.co.jp (Post.Office MTA v3.1.2J
          release 205-101-J ID# 111-56733U200L100S0J) with ESMTP id AAA141
          for <FreeBSD-users-jp@jp.freebsd.org>;
          Thu, 7 Sep 2000 17:37:51 +0900
Message-ID: <39B7516C.C5CA3896@sophia-systems.co.jp>
Date: Thu, 07 Sep 2000 17:27:24 +0900
From: jun takei <takei@sophia-systems.co.jp>
X-Mailer: Mozilla 4.7 [ja] (Win98; I)
X-Accept-Language: ja
MIME-Version: 1.0
To: FreeBSD-users-jp@jp.freebsd.org
References: <39B6FDB6.2DABD79F@sophia-systems.co.jp> <14775.12985.171082.26482Z@mat2.tokyo.pfu.co.jp>
Content-Type: text/plain; charset=iso-2022-jp
Content-Transfer-Encoding: 7bit
Reply-To: FreeBSD-users-jp@jp.freebsd.org
Precedence: list
X-Distribute: distribute version 2.1 (Alpha) patchlevel 24e+000315
X-Sequence: FreeBSD-users-jp 54921
Subject: [FreeBSD-users-jp 54921] Re: select()
 =?ISO-2022-JP?B?GyRCJEskRCQkJEYbKEI=?= 
Errors-To: owner-FreeBSD-users-jp@jp.freebsd.org
Sender: owner-FreeBSD-users-jp@jp.freebsd.org
X-Originator: takei@sophia-systems.co.jp

$BIp0f$G$9!#?A$5$s!"$^$D$`$i$5$s$"$j$,$H$&$4$6$$$^$9!#(B

Matsumura Naoki wrote:

> $B$^$D$`$i$G$9!#M>J,$J(B References $B$,IU$$$F$k$h$&$G!#(B
>
> jun takei <takei@sophia-systems.co.jp> wrote:
>
> > select()$B$O3FF~NO!"=PNO!"6[5^$K$D$$$F!"=`Hw$,(B
> > $B$G$-$?$+$I$&$+$rD4$Y$i$l$k$H;W$$$^$9$,!"$?$H$((B
> > $B$P!"F~NO$K$D$$$F=`Hw$,$G$-$?$H$$$&$3$H$O!">/(B
> > $B$J$/$H$b(B1$B%P%$%H$r%j!<%I$G$-$k$H$$$&$3$H$G$7$g$&$+!)(B
>
> $B=`Hw$,$G$-$?!"$H$$$&$N$,(B select $B$+$iLa$C$F$-$?$H$-(B
> fd_set $B$N%S%C%H$,N)$C$F$$$k(B (FD_ISSET $B$,??(B)$B!"$H$$$&(B
> $B0UL#$J$i$P!"(B
>   - $B>/$J$/$H$b(B1$B%P%$%H$rFI$_9~$a$k(B
>   - $B%U%!%$%k%G%#%9%/%j%W%?$,%/%m!<%:$5$l$?(B (EOF)
> $B$H$$$&(B2$B$D$N>l9g$,$"$j$^$9!#(B

$B#E#O#F$N>l9g$b$"$k$o$1$G$9$M!#N;2r$G$9!#(B

>
> # $B%U%!%$%k%G%#%9%/%j%W%?$r%/%m!<%:!"$H$$$&I=8=$OJQ(B?
>
> ----$B0J2<!"4V0c$$$,$"$j$=$&$J%5%s%W%k(B---
>
> #include <stdio.h>
> #include <sys/types.h>
> #include <sys/time.h>
> #include <unistd.h>
>
> main(){
>   fd_set fd;
>   fd_set org_fd;
>   char buf[128];
>   struct timeval waitval;
>
>   waitval.tv_sec  = 1;          /* 1.0 $BICBT$D(B */
>   waitval.tv_usec = 0;
>
>   FD_ZERO(&org_fd);             /* $B%<%m%/%j%"(B */
>   FD_SET(0, &org_fd);           /* $B%U%!%$%k%G%#%9%/%j%W%?(B0$BHV(B ($BI8=`F~NO(B) $B$r%;%C%H(B */
>
>   while (1){
>     memcpy(&fd, &org_fd, sizeof(org_fd));
>
>     select(1, &fd, NULL, NULL, &waitval);
>
>     if ( FD_ISSET(0,&fd) ){     /* 0$BHV$N%G%#%9%/%j%W%?(B ($BI8=`F~NO(B) $B$KF~NO$,$"$C$?(B */
>       int ret;
>       ret = read(0,buf,sizeof(buf)-1);
>       if ( ret == 0 || ret == -1 ){
>         printf("error or EOF\n");
>         break;
>       }
>       buf[ret] = '\0';
>       printf("key=%s\n",buf);
>
>     } else {                    /* $B%?%$%`%"%&%H(B */
>       printf("Wait %d.%d sec. But no input.\n", waitval.tv_sec, waitval.tv_usec);
>     }
>   }
> }

$B%W%m%0%i%`$^$G:\$;$F$$$?$@$-$"$j$,$H$&$4$6$$$^$9!#(B
$B>e5-$N$h$&$K$9$k$H!"#r#e#a#d!J!K$G%V%m%C%/$7$J$$$G!"%k!<%W$r$^$o$l$k(B
$B$H$$$&$3$H$G$9$M!#$"$j$,$H$&$4$6$$$^$9!#(B

--
$BIp0f!!=a(B
takei@sophia-systems.co.jp


