[comp.sys.hp] asynchronous io on 300 & 800 series

Daniel.Stodolsky@cs.cmu.edu (06/11/89)

>From probing the ioctl man pages from our hp 835, I see that
asynchronous io is supported (i.e, the system can generate SIGIO when io
is availible on a file). The end of the man page says, under dependencies

	SERIES 300 
		Asynchronous I/O not supported.

Two questions:

	1) is the dependency true?
	2) If so, does anyone have a work around that does not involve polling. 

This has arisen in the context of a dual threaded program that needs to
carry on some computation but also respond to i/o on a udp port. 

	Daniel Stodolsky
	danner@edrc.cmu.edu (128.2.214.1)
	Engineering Design Research Center
	Carneige Mellon University

perry@hpfcdc.HP.COM (Perry Scott) (06/13/89)

Changes were made to the 300 driver to support Asyncronous I/O.  It's
hard to tell when the changes will hit the streets.  I believe the
official HP line is "it will be available in a future release".  For
now, develop on the 800 and port to the 300.  The 300 passes the 800
test suite, so portability is likely.

Perry Scott

rml@hpfcdc.HP.COM (Bob Lenk) (06/14/89)

>	1) is the dependency true?

Yes, at least for current releases.

>	2) If so, does anyone have a work around that does not involve polling. 

You can use multiple processes.  A second process can just do select()
on the file descriptors of interest and send SIGIO or another signal with
kill() when appropriate.  Various other approaches are possible; that
one looks the most like SIGIO on the series 800 and BSD.

		Bob Lenk
		rml@hpfcla.hp.com
		hplabs!hpfcla!rml

klaas@hpindda.HP.COM (Darin Klaas) (06/15/89)

/ hpindda:comp.sys.hp / Daniel.Stodolsky@cs.cmu.edu /  9:24 am  Jun 11, 1989 /

> This has arisen in the context of a dual threaded program that needs to
> carry on some computation but also respond to i/o on a udp port. 

The SIGIO signal and FIOASYNC ioctl flag are supported on sockets as 
of 6.5 (300) / 3.1 (800).

-- darin