home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1992 #18 / NN_1992_18.iso / spool / comp / unix / internal / 1719 < prev    next >
Encoding:
Text File  |  1992-08-20  |  1.6 KB  |  36 lines

  1. Newsgroups: comp.unix.internals
  2. Path: sparky!uunet!kithrup!hoptoad!decwrl!mips!darwin.sura.net!udel!gvls1!jabber!candle!root
  3. From: root@candle.uucp (Bruce Momjian)
  4. Subject: Poll(), sleeping on several addresses
  5. Organization: a consultant's basement
  6. Date: Thu, 20 Aug 1992 19:19:04 GMT
  7. Message-ID: <1992Aug20.191904.4567@candle.uucp>
  8. X-Newsreader: Tin 1.1 PL5
  9. Lines: 25
  10.  
  11. My AT&T Svr3.1 poll() only works on streams devices, which doesn't do me
  12. much good, so I am attempting to write my own poll() as a device driver.
  13.  
  14. I think I am almost ready to start coding.  I can pass the file
  15. descriptors as a bit field to iocntrl(), and I can get the major/minor
  16. numbers by going for the u-block -> file table -> inode table ->
  17. s5inode.  I can get the addresses of the *_tty structure for the devices
  18. I wish to support and read the c_count's.
  19.  
  20. The one thing I haven't figured out is how to sleep on multiple
  21. addresses.  It seems drivers usually pick an address from a minor-number
  22. '_tty' specific table to use as their sleep address.  
  23.  
  24. I would like my driver to wake up on any activity at a certain kernel
  25. priority (link TTIPRI), or on a list of addresses I specify.  I would
  26. then check the tty structures I am interested in and go back to sleep if
  27. necessary.  Somehow I would have to be sure I woke up after the real
  28. driver had processed the request.
  29.  
  30. Is multi-address wakeup or getting called after the real driver posssible?
  31.  
  32. -- 
  33. Bruce Momjian                      |  830 Blythe Avenue
  34. root%candle.uucp@bts.com           |  Drexel Hill, Pennsylvania 19026 
  35.                                    |  (215) 353-9879(w)  853-3000(h)
  36.