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>
index | next in thread | raw e-mail
>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:
help
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199707180252.TAA05923>
