home *** CD-ROM | disk | FTP | other *** search
- Path: sparky!uunet!ferkel.ucsb.edu!taco!gatech!swrinde!cs.utexas.edu!usc!howland.reston.ans.net!spool.mu.edu!yale.edu!ira.uka.de!math.fu-berlin.de!news.netmbx.de!Germany.EU.net!mcsun!fuug!kiae!newsserv
- From: "Andrew A. Chernov, Black Mage" <ache@astral.msk.su>
- Newsgroups: comp.unix.bsd
- Subject: [386bsd] New patchkit select (beware) & codrvr conflict (with fix)
- Date: Wed, 27 Jan 93 16:47:51 +0300
- Distribution: world
- Organization: Ha-oh-lahm Yetzirah
- Message-ID: <mI7AfPhe70@astral.msk.su>
- Sender: news-service@newcom.kiae.su
- Reply-To: ache@astral.msk.su
- Lines: 121
-
- >From postmaster Wed Jan 27 16:44:47 1993
- Select patch from new patchkit (waiting on pid instead of *proc)
- introduce bug in codrvr keyboard poll, here is a fix:
-
-
- *** co_hdr.h.sel Sun Nov 22 18:35:19 1992
- --- co_hdr.h Wed Jan 27 16:21:51 1993
- ***************
- *** 122,128 ****
- int cs_timo; /* timeouts since interrupt (unused) */
- u_long cs_wedgecnt; /* times restarted (unused)*/
- u_long cs_ovfl; /* buffer overflows */
- ! struct proc *cs_selp; /* Process waiting for select call */
- int cs_pgid; /* Process group for ASYNC I/O */
- /*XXX*/ struct tty *cs_constty; /* used to restore constty if */
- /* anyone dares to steal CONSOLE during raw open */
- --- 122,128 ----
- int cs_timo; /* timeouts since interrupt (unused) */
- u_long cs_wedgecnt; /* times restarted (unused)*/
- u_long cs_ovfl; /* buffer overflows */
- ! pid_t cs_rsel; /* Process waiting for select call */
- int cs_pgid; /* Process group for ASYNC I/O */
- /*XXX*/ struct tty *cs_constty; /* used to restore constty if */
- /* anyone dares to steal CONSOLE during raw open */
- *** co_kbd.c.sel Wed Jan 27 15:23:03 1993
- --- co_kbd.c Wed Jan 27 16:31:57 1993
- ***************
- *** 138,144 ****
- initrb(&co_buf);
-
- /* signal opening process only */
- ! consoftc.cs_selp = 0;
- consoftc.cs_pgid = p->p_pid;
-
- return 0;
- --- 138,144 ----
- initrb(&co_buf);
-
- /* signal opening process only */
- ! consoftc.cs_rsel = 0;
- consoftc.cs_pgid = p->p_pid;
-
- return 0;
- ***************
- *** 156,162 ****
- if (minor(dev)==0x80) return 0;
-
- consoftc.cs_flags &= ~(CO_OPENRAW|CO_ASYNC);
- ! consoftc.cs_selp = 0;
- consoftc.cs_pgid = 0;
-
- /* do we need to restore console?
- --- 156,162 ----
- if (minor(dev)==0x80) return 0;
-
- consoftc.cs_flags &= ~(CO_OPENRAW|CO_ASYNC);
- ! consoftc.cs_rsel = 0;
- consoftc.cs_pgid = 0;
-
- /* do we need to restore console?
- ***************
- *** 277,285 ****
-
- if (!(consoftc.cs_flags & CO_OPENRAW))
- return;
- ! if (consoftc.cs_selp) {
- ! selwakeup(consoftc.cs_selp,0);
- ! consoftc.cs_selp = 0;
- }
- if (consoftc.cs_flags & CO_ASYNC) {
- if (consoftc.cs_pgid < 0)
- --- 277,285 ----
-
- if (!(consoftc.cs_flags & CO_OPENRAW))
- return;
- ! if (consoftc.cs_rsel) {
- ! selwakeup(consoftc.cs_rsel,0);
- ! consoftc.cs_rsel = 0;
- }
- if (consoftc.cs_flags & CO_ASYNC) {
- if (consoftc.cs_pgid < 0)
- ***************
- *** 306,312 ****
- splx(s);
- return 1;
- }
- ! consoftc.cs_selp = p;
- }
- splx(s);
- return 0;
- --- 306,312 ----
- splx(s);
- return 1;
- }
- ! consoftc.cs_rsel = p->p_pid;
- }
- splx(s);
- return 0;
- ***************
- *** 1182,1188 ****
- consoftc.cs_flags |= CO_OPENRAW;
- ofl = 0;
- }
- ! consoftc.cs_selp = 0;
- break;
- case KBDRESET8042:
- doreset();
- --- 1182,1188 ----
- consoftc.cs_flags |= CO_OPENRAW;
- ofl = 0;
- }
- ! consoftc.cs_rsel = 0;
- break;
- case KBDRESET8042:
- doreset();
- --
- In-This-Life: Andrew A. Chernov | "Hay mas dicha, mas contento
- Internet: ache@astral.msk.su | "Que adorar una hermosura
- FIDOnet: 2:5020/23.34 | "Brujuleada entre los lejos
- Organization: The RELCOM Corp. | "De lo imposible?!" (Calderon)
-
-