From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=0.6 required=5.0 tests=BAYES_05,INVALID_DATE, MSGID_SHORT autolearn=no autolearn_force=no version=3.4.4 Path: utzoo!attcan!uunet!mcvax!hp4nl!shapetc!visser From: visser@shapetc.UUCP (Henk Visser) Newsgroups: comp.lang.ada Subject: losing terminal data when using task concurrency. Keywords: unix,sun,concurrency,terminal io Message-ID: <343@shapetc.UUCP> Date: 15 Feb 89 16:18:53 GMT Organization: SHAPE Technical Centre, The Hague, Netherlands List-Id: An ALSYS ADA (vesrion3.2) application on a sun3/50 (SUNOS v3.2) gives me a problem. A simplified version of the task looks as follows: begin OPEN(INPUT_FILE,IN_FILE,"/dev/ttyb"); loop begin GET_LINE(INPUT_FILE,INPUT_LINE,LINE_INDEX); BUFFER.WRITE(INPUT_LINE); end; end loop; end; The terminal handler buffers the incoming data, so no data should get lost when the rendezvous (BUFFER.WRITE) is executed. But unfortunately I do lose data. The data is not lost if I replace the BUFFER.WRITE with a delay or something else. So it looks like that data get lost when the task is suspended during the rendezvous. Who can help me to get around this problem? Please send your mail to ..mcvax!shapetc!visser Thanks in advance, Henk Visser Shape Technical Centre, The Hague, Holland