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.8 required=5.0 tests=BAYES_00,INVALID_DATE autolearn=no autolearn_force=no version=3.4.4 Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!usc!apple!snorkelwacker.mit.edu!bloom-beacon!eru!hagbard!sunic!mcsun!inria!cenaath.cena.dgac.fr!cenatls.cena.dgac.fr!enac.dgac.fr!enac5!alliot From: alliot@enac5.enac.dgac.fr (Jean-Marc Alliot) Newsgroups: comp.lang.ada Subject: Re: Ada and Unix Sockets Keywords: sockets unix blocking Message-ID: <1990Nov29.225938.3642@enac.dgac.fr> Date: 29 Nov 90 22:59:38 GMT References: <1873@sirius.ucs.adelaide.edu.au> <866@tfsg.UUCP> Sender: alliot@enac.dgac.fr (Jean-Marc Alliot) Organization: Ecole Nationale de l'Aviation Civile Nntp-Posting-Host: enac5 List-Id: Our news system broke off last week and I didn't get the address of the poster of the query. So I'm posting this answer directly to the net. We experiened the same rpoblem using ADA-ALSYS compiler and UNIX sockets on a SUN (3.5, 4.0 and 4.1 OS). The reason is quite easy to understand. Every ADA task belongs to the same UNIX process. And any system call (like read, write or accept) is blocking (by default), and blocking for the WHOLE UNIX process. So every task is automatically blocked. Solving completely the problem was quite difficult. We had to mask the UNIX OS, and it ended in more than 5000 lines of ADA code. The packages are now efficient and probably portable on any BSD-based system.