home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1993 #3 / NN_1993_3.iso / spool / comp / unix / bsd / 11976 < prev    next >
Encoding:
Internet Message Format  |  1993-01-29  |  3.7 KB

  1. 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
  2. From: "Andrew A. Chernov, Black Mage" <ache@astral.msk.su>
  3. Newsgroups: comp.unix.bsd
  4. Subject: [386bsd] New patchkit select (beware) & codrvr conflict (with fix)
  5. Date: Wed, 27 Jan 93 16:47:51 +0300
  6. Distribution: world
  7. Organization: Ha-oh-lahm Yetzirah
  8. Message-ID: <mI7AfPhe70@astral.msk.su>
  9. Sender: news-service@newcom.kiae.su
  10. Reply-To: ache@astral.msk.su
  11. Lines: 121
  12.  
  13. >From postmaster Wed Jan 27 16:44:47 1993
  14. Select patch from new patchkit (waiting on pid instead of *proc)
  15. introduce bug in codrvr keyboard poll, here is a fix:
  16.  
  17.  
  18. *** co_hdr.h.sel    Sun Nov 22 18:35:19 1992
  19. --- co_hdr.h    Wed Jan 27 16:21:51 1993
  20. ***************
  21. *** 122,128 ****
  22.       int    cs_timo;    /* timeouts since interrupt (unused) */
  23.       u_long    cs_wedgecnt;    /* times restarted (unused)*/
  24.       u_long    cs_ovfl;    /* buffer overflows */
  25. !     struct proc *cs_selp;    /* Process waiting for select call */
  26.       int    cs_pgid;    /* Process group for ASYNC I/O */
  27.   /*XXX*/    struct tty *cs_constty;    /* used to restore constty if */
  28.                   /* anyone dares to steal CONSOLE during raw open */
  29. --- 122,128 ----
  30.       int    cs_timo;    /* timeouts since interrupt (unused) */
  31.       u_long    cs_wedgecnt;    /* times restarted (unused)*/
  32.       u_long    cs_ovfl;    /* buffer overflows */
  33. !     pid_t   cs_rsel;        /* Process waiting for select call */
  34.       int    cs_pgid;    /* Process group for ASYNC I/O */
  35.   /*XXX*/    struct tty *cs_constty;    /* used to restore constty if */
  36.                   /* anyone dares to steal CONSOLE during raw open */
  37. *** co_kbd.c.sel    Wed Jan 27 15:23:03 1993
  38. --- co_kbd.c    Wed Jan 27 16:31:57 1993
  39. ***************
  40. *** 138,144 ****
  41.       initrb(&co_buf);
  42.   
  43.       /* signal opening process only */
  44. !     consoftc.cs_selp = 0;
  45.       consoftc.cs_pgid = p->p_pid;
  46.   
  47.       return 0;
  48. --- 138,144 ----
  49.       initrb(&co_buf);
  50.   
  51.       /* signal opening process only */
  52. !     consoftc.cs_rsel = 0;
  53.       consoftc.cs_pgid = p->p_pid;
  54.   
  55.       return 0;
  56. ***************
  57. *** 156,162 ****
  58.       if (minor(dev)==0x80) return 0;
  59.   
  60.       consoftc.cs_flags &= ~(CO_OPENRAW|CO_ASYNC);
  61. !     consoftc.cs_selp = 0;
  62.       consoftc.cs_pgid = 0;
  63.   
  64.       /* do we need to restore console?
  65. --- 156,162 ----
  66.       if (minor(dev)==0x80) return 0;
  67.   
  68.       consoftc.cs_flags &= ~(CO_OPENRAW|CO_ASYNC);
  69. !     consoftc.cs_rsel = 0;
  70.       consoftc.cs_pgid = 0;
  71.   
  72.       /* do we need to restore console?
  73. ***************
  74. *** 277,285 ****
  75.   
  76.       if (!(consoftc.cs_flags & CO_OPENRAW))
  77.           return;
  78. !     if (consoftc.cs_selp) {
  79. !         selwakeup(consoftc.cs_selp,0);
  80. !         consoftc.cs_selp = 0;
  81.       }
  82.       if (consoftc.cs_flags & CO_ASYNC) {
  83.           if (consoftc.cs_pgid < 0)
  84. --- 277,285 ----
  85.   
  86.       if (!(consoftc.cs_flags & CO_OPENRAW))
  87.           return;
  88. !     if (consoftc.cs_rsel) {
  89. !         selwakeup(consoftc.cs_rsel,0);
  90. !         consoftc.cs_rsel = 0;
  91.       }
  92.       if (consoftc.cs_flags & CO_ASYNC) {
  93.           if (consoftc.cs_pgid < 0)
  94. ***************
  95. *** 306,312 ****
  96.               splx(s);
  97.               return 1;
  98.           }
  99. !         consoftc.cs_selp = p;
  100.       }
  101.       splx(s);
  102.       return 0;
  103. --- 306,312 ----
  104.               splx(s);
  105.               return 1;
  106.           }
  107. !         consoftc.cs_rsel = p->p_pid;
  108.       }
  109.       splx(s);
  110.       return 0;
  111. ***************
  112. *** 1182,1188 ****
  113.                   consoftc.cs_flags |= CO_OPENRAW;
  114.               ofl = 0;
  115.           }
  116. !         consoftc.cs_selp = 0;
  117.           break;
  118.       case KBDRESET8042:
  119.           doreset();
  120. --- 1182,1188 ----
  121.                   consoftc.cs_flags |= CO_OPENRAW;
  122.               ofl = 0;
  123.           }
  124. !         consoftc.cs_rsel = 0;
  125.           break;
  126.       case KBDRESET8042:
  127.           doreset();
  128. -- 
  129. In-This-Life:  Andrew A. Chernov    |  "Hay mas dicha, mas contento
  130. Internet:      ache@astral.msk.su   |  "Que adorar una hermosura
  131. FIDOnet:       2:5020/23.34         |  "Brujuleada entre los lejos
  132. Organization:  The RELCOM Corp.     |  "De lo imposible?!"  (Calderon)
  133.  
  134.