From owner-FreeBSD-users-jp@jp.FreeBSD.org Thu Nov 15 20:07:03 2012
Received: (from daemon@localhost)
	by castle.jp.FreeBSD.org (8.11.6p2+3.4W/8.11.3) id qAFB73J40084;
	Thu, 15 Nov 2012 20:07:03 +0900 (JST)
	(envelope-from owner-FreeBSD-users-jp@jp.FreeBSD.org)
Received: from sh.kkdlabs.jp (s236214.ppp.asahi-net.or.jp [220.157.236.214])
	by castle.jp.FreeBSD.org (8.11.6p2+3.4W/8.11.3) with ESMTP/inet id qAFB72r40079
	for <FreeBSD-users-jp@jp.FreeBSD.org>; Thu, 15 Nov 2012 20:07:02 +0900 (JST)
	(envelope-from kohi@kkdlabs.jp)
Received: from localhost (lars.kkdlabs.jp [10.2.255.245])
	by sh.kkdlabs.jp (8.14.5/8.14.4) with ESMTP id qAFB71PB029784;
	Thu, 15 Nov 2012 20:07:02 +0900 (JST)
	(envelope-from kohi@kkdlabs.jp)
Message-Id: <20121115.200701.137056035.kohi@kkdlabs.jp>
To: FreeBSD-users-jp@jp.FreeBSD.org
From: Koh-ichi Ito <kohi@kkdlabs.jp>
In-Reply-To: <20121115063148.3ee4a1eb.kh@mogami.com>
References: <20121114091458.424af30c.kh@mogami.com>
	<20121114.222552.1131376789773329733.kohi@kkdlabs.jp>
	<20121115063148.3ee4a1eb.kh@mogami.com>
X-Mailer: Mew version 6.3 on Emacs 23.3 / Mule 6.0 (HANACHIRUSATO)
Mime-Version: 1.0
Content-Type: Text/Plain; charset=iso-2022-jp
Content-Transfer-Encoding: 7bit
Reply-To: FreeBSD-users-jp@jp.FreeBSD.org
Precedence: list
Date: Thu, 15 Nov 2012 20:07:01 +0900
X-Sequence: FreeBSD-users-jp 94054
Subject: [FreeBSD-users-jp 94054] Re: umodem
 =?ISO-2022-JP?B?GyRCJEcbKEI=?= PICC18F2550
 =?ISO-2022-JP?B?GyRCJEslIiUvJTslOSQ5JGskSElUMEJEahsoQg==?=
Sender: owner-FreeBSD-users-jp@jp.FreeBSD.org
X-Originator: kohi@kkdlabs.jp
X-Distribute: distribute version 2.1 (Alpha) patchlevel 24e+060209

From: Kouichi Hirabayashi <kh@mogami.com>
Subject: [FreeBSD-users-jp 94053] Re: umodem $B$G(B PICC18F2550 $B$K%"%/%;%9$9$k$HIT0BDj(B
Date: Thu, 15 Nov 2012 06:31:48 +0900

>> open()$B$K(B O_NONBLOCK $B$rM?$($J$$$H!"(Bopen()$B$,%V%m%C(B
>> $B%/$5$l!"(Btermios $B4X78$N@_Dj$K?J$`$3$H$,$G$-$J$+$C$?$N$G!"(B
>> O_NONBLOCK $B$rDI2C$7$^$7$?!#(B
> 
> /dev/ttyU0 $B$G$J$/!"(B/dev/cuaU0 $B$r;H$&$H$I$&$J$j$^$9$+!)(B

$B$"$!!"$?$7$+$K(B call out $B$G$9$M!#(B/dev/cuaU0 $B$@$H(B open()$B$,%V%m%C%/$5$l$J(B
$B$/$J$j$^$7$?!#(B

read()$B$+$i5"$C$F$3$J$/$J$j!"(Bttyin $B$G%V%m%C%/$5$l$F$$$^$9!#(B

kohi@sh$ ps alxwwp 29573
  UID   PID  PPID CPU PRI NI   VSZ   RSS MWCHAN STAT  TT       TIME COMMAND
    0 29573 29070   0  44  0  5832   968 ttyin  I+     0    0:00.00 ./test10

$ diff -u test8.c test10.c
--- test8.c	2012-11-13 20:31:49.000000000 +0900
+++ test10.c	2012-11-15 19:58:22.000000000 +0900
@@ -6,7 +6,6 @@
 #include <termios.h>
 #include <unistd.h>
 #include <sys/ioctl.h>
-#include <sys/select.h>
 #include <sys/stat.h>
 #include <sys/types.h>
 #include <sys/uio.h>
@@ -22,13 +21,11 @@
 	ssize_t	n;
 	char	*tmesg,
 		rmesg[16];
-	fd_set	fds;
 	struct termios	tios;
-	struct timeval	timeout;
 
 	for (i = 0; ; i++) {
 		printf("i = %d\n", i);
-		if ( (fd = open("/dev/ttyU0", O_RDWR | O_NONBLOCK) ) < 0) {
+		if ( (fd = open("/dev/cuaU0", O_RDWR) ) < 0) {
 			err(1, "open()");
 		}
 		if (ioctl(fd, TIOCEXCL) < 0) {
@@ -53,33 +50,13 @@
 		if (tcsetattr(fd, TCSADRAIN, &tios) < 0) {
 			err(1, "tcsetattr()");
 		}
-		FD_ZERO(&fds);
-		FD_SET(fd, &fds);
-		timeout.tv_sec = 1;
-		timeout.tv_usec = 0;
 		tmesg = "BARH\r\n";
 		tlen = strlen(tmesg);
-		if ( (n = select(fd + 1, NULL, &fds, NULL, &timeout) ) < 0) {
-			err(1, "select() for write()");
-		} else if (n == 0) {
-			fprintf(stderr, "select() for write() timeout.\n");
-			close(fd);
-			sleep(PAUSE);
-			exit(1);
-		}
 		if (write(fd, tmesg, tlen) < 0) {
 			err(1, "write()");
 		}
-		FD_ZERO(&fds);
-		FD_SET(fd, &fds);
-		if ( (n = select(fd + 1, &fds, NULL, NULL, &timeout) ) < 0) {
-			err(1, "select() for read()");
-		} else if (n == 0) {
-			fprintf(stderr, "select() for read() timeout.\n");
-			close(fd);
-			sleep(PAUSE);
-			exit(1);
-		}
+		printf("back from write()\n");
+		sleep(PAUSE);	/* required... */
 		bzero(rmesg, 16);
 		if ( (n = read(fd, rmesg, 15) ) < 0) {
 			err(1, "read()");

---
kkdlabs.jp, featuring Koh-ichi Ito as just another DNS freak in town.
