From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.5-pre1 (2020-06-20) on ip-172-31-74-118.ec2.internal X-Spam-Level: X-Spam-Status: No, score=-1.9 required=3.0 tests=BAYES_00 autolearn=ham autolearn_force=no version=3.4.5-pre1 Date: 30 Jul 91 19:35:58 GMT From: cis.ohio-state.edu!zaphod.mps.ohio-state.edu!wupost!csus.edu!beach.csulb. edu!lewicki@ucbvax.Berkeley.EDU (Dave Lewicki) Subject: Ada and Unix--Blocked Tasks Message-ID: <1991Jul30.193558.9118@beach.csulb.edu> List-Id: I have run up against a problem: I am working on a program with multiple tasks, one of which makes a call on the Unix "accept()" routine for sockets. As expected, the task blocks and waits for a connection. But, what I didn't expect is that the other tasks all block too and the Ada kernel then goes on to complain about deadlock. It seems that all the tasks are of the same process, so when one blocks, they all do. The only workaround that I can figure is to poll a non-blocking "accept()" every 5 seconds or so (yecch). Is this a vendor specific problem, or do all Ada/Unix kernals work this way? I am using the Verdix compiler running on Ultrix. Has anyone else found any better workaround? Thanks in advance.......... -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- Dave Lewicki | "C++ has a host of operators that will -- lewicki@beach.csulb.edu | be explained if and where needed." -- C.S.U. Long Beach | -- _The C++ Programming Language_. -----------------------------------------------------------------------