Date: Thu, 17 Jul 1997 19:52:48 -0700 (PDT) From: leres@ee.lbl.gov (Craig Leres) To: FreeBSD-gnats-submit@FreeBSD.ORG Cc: leres@ee.lbl.gov, mills@udel.edu (Dave Mills) Subject: kern/4114: Processes shouldn't get SIGIO when the tty is set to CLOCAL Message-ID: <199707180252.TAA05923@fun.ee.lbl.gov> Resent-Message-ID: <199707180320.UAA23807@hub.freebsd.org>
next in thread | raw e-mail | index | archive | help
>Number: 4114 >Category: kern >Synopsis: Processes shouldn't get SIGIO when the tty is set to CLOCAL >Confidential: no >Severity: non-critical >Priority: low >Responsible: freebsd-bugs >State: open >Class: sw-bug >Submitter-Id: current-users >Arrival-Date: Thu Jul 17 20:20:02 PDT 1997 >Last-Modified: >Originator: Craig Leres >Organization: Lawrence Berkeley National Laboratory >Release: FreeBSD 2.2.2-RELEASE i386 >Environment: >Description: When running the current release of xntp (3-5.90), xntpd syslogs repeated errors: Jul 17 12:29:24 meg xntpd[1714]: synchronized to GPS_JUPITER(0), stratum=0 Jul 17 12:29:25 meg xntpd[1714]: input_handler: select() returned 0 Jul 17 12:29:56 meg last message repeated 31 times Jul 17 12:31:57 meg last message repeated 121 times Jul 17 12:41:58 meg last message repeated 601 times Jul 17 12:51:59 meg last message repeated 601 times Jul 17 13:02:00 meg last message repeated 601 times Jul 17 13:12:01 meg last message repeated 601 times Jul 17 13:22:02 meg last message repeated 601 times Jul 17 13:32:03 meg last message repeated 601 times Jul 17 13:42:04 meg last message repeated 601 times These are due to the DCD line being toggled once per second. >How-To-Repeat: Run the lastest xntpd with a refernece clock that uses the DCD line to import the PPS signal; watch the syslog. >Fix: The appended patch to kern/tty.c cures the problem. RCS file: RCS/tty.c,v retrieving revision 1.1 diff -c -r1.1 tty.c *** /tmp/,RCSt1005870 Thu Jul 17 19:49:16 1997 --- tty.c Thu Jul 17 19:17:05 1997 *************** *** 1377,1383 **** if (!ISSET(tp->t_state, TS_ZOMBIE)) SET(tp->t_state, TS_CONNECTED); wakeup(TSA_CARR_ON(tp)); ! ttwakeup(tp); ttwwakeup(tp); } return (1); --- 1377,1392 ---- if (!ISSET(tp->t_state, TS_ZOMBIE)) SET(tp->t_state, TS_CONNECTED); wakeup(TSA_CARR_ON(tp)); ! /* Don't generate SIGIO's for DCD if CLOCAL */ ! if (ISSET(tp->t_cflag, CLOCAL)) { ! register int t_state; ! ! t_state = tp->t_state; ! CLR(tp->t_state, TS_ASYNC); ! ttwakeup(tp); ! tp->t_state = t_state; ! } else ! ttwakeup(tp); ttwwakeup(tp); } return (1); >Audit-Trail: >Unformatted:
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199707180252.TAA05923>