home *** CD-ROM | disk | FTP | other *** search
- Newsgroups: comp.os.os9
- Path: sparky!uunet!wupost!gumby!yale!yale.edu!spool.mu.edu!sdd.hp.com!ux1.cso.uiuc.edu!milo.mcs.anl.gov!poseidon!saunders
- From: saunders@aps.anl.gov (Claude Saunders)
- Subject: how to do concurrent read/write on terminal?
- Message-ID: <1992Sep9.223924.5962@mcs.anl.gov>
- Keywords: input output
- Sender: usenet@mcs.anl.gov
- Reply-To: saunders@aps.anl.gov
- Organization: Argonne National Lab -- APS
- Date: Wed, 9 Sep 1992 22:39:24 GMT
- Lines: 17
-
- I have a control program (in Microware-C) running under OS-9 which
- accepts commands from /t1 and also periodically writes to /t1.
- There is a separate fork'ed process for reading commands and
- for periodic writes. (There are reasons behind this design.)
-
- The problem is that the gets() in the consuming process sleeps and prevents
- the producing process from getting characters out to the terminal.
-
- Is there any way of solving this without installing a signal intercept
- function and grabbing unbuffered characters one at a time with getchar()?
- That solution is essentially duplicating the driver.
-
- Is there some mode I can set that will allow printf's while another process
- is sitting in gets()? Do I need to open() additional file descriptors?
-
- Thanks in advance,
- -- an OS-9 novice --
-