comp.lang.ada
 help / color / mirror / Atom feed
* Tasking and Controlled types in GNAT
@ 2001-07-02 12:16 Dr. L.A. Timochouk
  0 siblings, 0 replies; only message in thread
From: Dr. L.A. Timochouk @ 2001-07-02 12:16 UTC (permalink / raw)


Hello,

I am using GNAT-3.13p with tasks as native threads on Linux, and
observed that there is a significant decrease of concurrency level if a
potentially blocking operation (in my
case Socket I/O) occurs inside the "Finalize" procedure for a Controlled
type. it looks
like "Finalize" is executed in a critical section with all other tasks
locked out by a global lock in the RTS. Is it true? If so, why is this
lock necessary? Where exactly in the compiler/RTS sources can it be
found? Maybe it can be deconfigured in some cases (e.g., in my case no
Controlled objects are shared between the tasks)?

Thank you very much in advance,

Dr. Leonid A. Timochouk

Computing Laboratory
University of Kent at Canterbury, England





^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2001-07-02 12:16 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2001-07-02 12:16 Tasking and Controlled types in GNAT Dr. L.A. Timochouk

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