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 X-Google-Thread: 103376,31c8a4a333170c23 X-Google-Attributes: gid103376,public From: gisle@apal.ii.uib.no (Gisle S�lensminde) Subject: Re: Tasking Models Date: 2000/04/19 Message-ID: #1/1 X-Deja-AN: 613086368 Content-Transfer-Encoding: 8bit References: <38FD5045.A42B4406@quadruscorp.com> Organization: University of Bergen, Norway Content-Type: text/plain; charset=iso-8859-1 Mime-Version: 1.0 Newsgroups: comp.lang.ada Date: 2000-04-19T00:00:00+00:00 List-Id: In article <38FD5045.A42B4406@quadruscorp.com>, Marin D. Condic wrote: >I'm working with the Sparc compiler v2.1.1 under Solaris and I can't >seem to find out much about the tasking model. The documentation >indicates that time slicing can be turned on, but I don't know that this >is the case. What I'm wondering about are the conditions under which the >runtime will decide that a task is blocked and allow another task to >run. Specifically if an I/O call or a TCP/IP call will result in a >blocked task and allow another to run. Does anybody know anything about >the tasking model for this compiler? (it is Ada83) > >In the past, when I've cared to find out about it, Ada compilers I've >run under various operating systems do not block on an I/O or other >sorts of OS calls. I know this is legal behavior. I don't know of any >reason why it would be *illegal* for the RTK to consider a task blocked >on an OS call. This would be desirable behavior under lots of >conditions, but it also raises questions about the task safety of the OS >calls being made. If this particular RTK blocks, then one has to wonder >about the thread safety of TCP/IP and file I/O calls under this >particular OS. Anybody know if Solaris makes these things thread safe? A >lot of that probably depends on how they mapped the tasks onto the OS. > >What documentation I can find so far is pretty pithy on the subject of >the tasking model (and other things as well :-) If somebody is familiar >with this compiler and can point me in a direction, I'd appreciate it. I may be wrong, but there are big chances for that an old Ada83 compiler produce executables for SunOS 4, which runs on Solaris in compatibility mode AFAIK. I think I remember that SunOS 4 not supported multithreading, so if the compiler makes old executables there will not be threads available, and the Ada threads will block on OS calls. I either case; many of the OS calls in Solaris (esp socket calls) are not thread safe, so care must be taken. The thread safeness is documented on the manpages on all newer Solaris versions, and in some cases there are Solaris specific thread safe versions of the calls. -- Gisle S�lensminde ( gisle@ii.uib.no ) ln -s /dev/null ~/.netscape/cookies