comp.lang.ada
 help / color / mirror / Atom feed
From: gisle@apal.ii.uib.no (Gisle S�lensminde)
Subject: Re: Tasking Models
Date: 2000/04/19
Date: 2000-04-19T00:00:00+00:00	[thread overview]
Message-ID: <slrn8fr4sn.1se.gisle@apal.ii.uib.no> (raw)
In-Reply-To: 38FD5045.A42B4406@quadruscorp.com

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




  reply	other threads:[~2000-04-19  0:00 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2000-04-18  0:00 Tasking Models Marin D. Condic
2000-04-19  0:00 ` Gisle S�lensminde [this message]
2000-04-19  0:00   ` Marin D. Condic
2000-04-20  0:00     ` Simon Wright
2000-04-22  0:00       ` Marin D. Condic
2000-04-22  0:00 ` Marin D. Condic
2000-04-22  0:00   ` tmoran
2000-04-22  0:00     ` Marin D. Condic
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox