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=-1.9 required=5.0 tests=BAYES_00,FREEMAIL_FROM autolearn=ham autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,2d2df3e9ad18fa63 X-Google-Attributes: gid103376,public X-Google-ArrivalTime: 2003-06-20 14:01:54 PST Path: archiver1.google.com!news1.google.com!newsfeed.stanford.edu!news-spur1.maxwell.syr.edu!news.maxwell.syr.edu!newsfeed1.uni2.dk!news.get2net.dk.POSTED!53ab2750!not-for-mail Sender: malo@niflheim.malonet Newsgroups: comp.lang.ada Subject: Re: ISO/IEC 14519 - Ada POSIX binding References: <3EF2F6B8.3030706@noplace.com> <3EF338C5.2010005@cogeco.ca> From: Mark Lorenzen Message-ID: User-Agent: Gnus/5.09 (Gnus v5.9.0) Emacs/21.2 MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Date: 21 Jun 2003 01:05:29 +0200 NNTP-Posting-Host: 62.84.221.216 X-Complaints-To: abuse@colt-telecom.dk X-Trace: news.get2net.dk 1056142913 62.84.221.216 (Fri, 20 Jun 2003 23:01:53 CEST) NNTP-Posting-Date: Fri, 20 Jun 2003 23:01:53 CEST Organization: Colt Telecom Kunde Xref: archiver1.google.com comp.lang.ada:39506 Date: 2003-06-21T01:05:29+02:00 List-Id: Wesley Groleau writes: > The POSIX binding I looked at had a single exception, > POSIX_Error and then you were supposed to examine the > errno variable. Proctalgia, but it's the price you pay > for interfacing to such a primitive system. Rather than > "roll-your-own" completely, I'd say use POSIX as a thin > binding and provide a thick binding to wrap it in. Yes! The POSIX binding is a (not so)simple binding to a low-level interface and is therefore also pretty low-level. But it has a huge advantage, namely that it is POSIX (read PORTABLE) - it is even implemented for some RT OSes. I would appreciate a high-level socket or general communication package, but I think that it is important that the package is based on the POSIX interface as the interface has a lot of other useful stuff than just sockets. Imagine that we want to use asynchronous I/O on a socket - POSIX support that. But async I/O often uses POSIX real-time signals for event signalling and again it is provided by the POSIX interface. When using sockets for real applications, we often need to drag a whole toolsbox into use f.x. select() or poll(), fcntl(), ioctl() and so on. The Ada POSIX Interface is modular, just as the C counterpart, so an implementation need not implement the whole standard (message queues, async I/O, co-existence with C threads, RT signals and so on...). - Mark