Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!sdd.hp.com!ucsd!ucbvax!alsys.UUCP!chris From: chris@alsys.UUCP (Christopher Gray) Newsgroups: comp.sys.transputer Subject: Polling using a hard channel Message-ID: <8685.9012070015@pyrltd.pyra.co.uk> Date: 6 Dec 90 10:29:36 GMT Sender: daemon@ucbvax.BERKELEY.EDU Organization: The Internet Lines: 20 I am developing an application in which it would be desirable to poll a hard channel to determine whether or not a remote process is ready to communicate over the hard channel. Unfortunately this cannot be done in occam and there appears to be no machine level instruction which allows this. The application uses the routine OutputOrFail.t (from the occam support library xlink.lib). With a "delay" of zero, this routine always returns "aborted" for a hard channel even if there is a remote process ready to communicate. This is because communication over a hard channel always results in descheduling of the communicating process. Unfortunately, setting timeout = (small value) also causes problems due to the unknown length of time that the message takes to read/write on a hard link. Significantly, polling using soft channels produces no such problems and works fine. However, when using hard channels there appears to be no way to achieve polling using software, at whichever level: occam; occam support library; machine code.