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.3 required=5.0 tests=BAYES_00,INVALID_MSGID autolearn=no autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,31c8a4a333170c23 X-Google-Attributes: gid103376,public From: tmoran@bix.com Subject: Re: Tasking Models Date: 2000/04/22 Message-ID: #1/1 X-Deja-AN: 614389638 References: <3901DE50.29A62D26@quadruscorp.com> X-Complaints-To: abuse@pacbell.net X-Trace: news.pacbell.net 956430359 206.170.24.60 (Sat, 22 Apr 2000 12:05:59 PDT) Organization: SBC Internet Services NNTP-Posting-Date: Sat, 22 Apr 2000 12:05:59 PDT Newsgroups: comp.lang.ada Date: 2000-04-22T00:00:00+00:00 List-Id: > attempted some GNAT/TCP/IP stuff under Win98 and the behavior when tasks > are involved seems to be that the RTK does not recognize that a thread > is blocked when a call is made to TCP/IP. (Other tasks starve). Is this > the same behavior one could expect under WinNT? How about under various Are you sure that with Gnat and Win98 one TCP-blocked Ada task will cause blocking of other Ada tasks? I don't think that should happen. Winsock functions block on a per-thread basis, so the Ada run time shouldn't know or care whether a particular thread is blocked on TCP IO - the other threads should continue time-slicing. With Windows 3.1, of course, there is only one thread, and you need to use Windows' WSA functions to avoid blocking it, but I don't think Gnat even supports 3.1 If you have Claw.Sockets, take a look at its use of PO_Boxes to use WSA operations to avoid blocking. In Windows CE, MS has finally dropped support for the WSA functions, leaving Windows time-slicing to other threads as the only way to avoid blocking the entire program.