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

  1. Path: sparky!uunet!gatech!udel!sbcs.sunysb.edu!stark.UUCP!gene
  2. From: gene@stark.uucp (Gene Stark)
  3. Newsgroups: comp.unix.bsd
  4. Subject: Xten and patch00061 (FIX)
  5. Date: 26 Jan 93 08:53:43
  6. Organization: Gene Stark's home system
  7. Lines: 60
  8. Distribution: world
  9. Message-ID: <GENE.93Jan26085343@stark.stark.uucp>
  10. NNTP-Posting-Host: stark.uucp
  11.  
  12. These patches are for my "tw" X-10 driver, which can be found on ref.tfs.com
  13. in directory /usr/src/sys.extras/stark-xten.
  14.  
  15. You MUST apply these diffs if you have installed patch00061 in patchkit-0.2.
  16. DON'T apply them if you didn't install that patch.
  17.  
  18.  
  19. *** /sys/i386/isa/tw.c.pl1    Wed Dec  2 09:31:20 1992
  20. --- /sys/i386/isa/tw.c    Tue Jan 26 07:56:30 1993
  21. ***************
  22. *** 199,205 ****
  23.   struct tw_sc {
  24.     u_int sc_port;        /* I/O Port */
  25.     u_int sc_state;        /* Current software control state */
  26. !   struct proc *sc_selp;        /* Process sleeping on select */
  27.     u_char sc_xphase;        /* Current state of sync (for transmitter) */
  28.     u_char sc_rphase;        /* Current state of sync (for receiver) */
  29.     u_char sc_flags;        /* Flags for current reception */
  30. --- 199,205 ----
  31.   struct tw_sc {
  32.     u_int sc_port;        /* I/O Port */
  33.     u_int sc_state;        /* Current software control state */
  34. !   pid_t sc_selp;        /* Process sleeping on select */
  35.     u_char sc_xphase;        /* Current state of sync (for transmitter) */
  36.     u_char sc_rphase;        /* Current state of sync (for receiver) */
  37.     u_char sc_flags;        /* Flags for current reception */
  38. ***************
  39. *** 411,416 ****
  40. --- 411,417 ----
  41.        struct proc *p;
  42.   {
  43.     struct tw_sc *sc;
  44. +   struct proc *pp;
  45.     int s, i;
  46.   
  47.     sc = &tw_sc[TWUNIT(dev)];
  48. ***************
  49. *** 419,428 ****
  50.       splx(s);
  51.       return(1);
  52.     }
  53. !   if(sc->sc_selp && sc->sc_selp->p_wchan == (caddr_t)&selwait) {
  54.       sc->sc_state |= TWS_COLL;
  55.     } else {
  56. !     sc->sc_selp = p;
  57.     }
  58.     splx(s);
  59.     return(0);
  60. --- 420,430 ----
  61.       splx(s);
  62.       return(1);
  63.     }
  64. !   if(sc->sc_selp && (pp = pfind(sc->sc_selp))
  65. !     && pp->p_wchan == (caddr_t)&selwait) {
  66.       sc->sc_state |= TWS_COLL;
  67.     } else {
  68. !     sc->sc_selp = p->p_pid;
  69.     }
  70.     splx(s);
  71.     return(0);
  72.