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