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 autolearn=ham autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,223c3af705c3dfb5,start X-Google-Attributes: gid103376,public X-Google-ArrivalTime: 2001-07-02 05:17:59 PST Path: archiver1.google.com!newsfeed.google.com!newsfeed.stanford.edu!news-spur1.maxwell.syr.edu!news.maxwell.syr.edu!colt.net!newspeer.clara.net!news.clara.net!server3.netnews.ja.net!athena.ukc.ac.uk!not-for-mail From: "Dr. L.A. Timochouk" Newsgroups: comp.lang.ada Subject: Tasking and Controlled types in GNAT Date: Mon, 02 Jul 2001 13:16:30 +0100 Organization: University of Kent at Canterbury Message-ID: <3B40661E.A6DE563B@ukc.ac.uk> NNTP-Posting-Host: askone.ukc.ac.uk Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit X-Trace: athena.ukc.ac.uk 994076247 19466 129.12.41.18 (2 Jul 2001 12:17:27 GMT) X-Complaints-To: news@ukc.ac.uk NNTP-Posting-Date: Mon, 2 Jul 2001 12:17:27 +0000 (UTC) X-Mailer: Mozilla 4.73 [en] (X11; I; Linux 2.2.18 i586) X-Accept-Language: en Xref: archiver1.google.com comp.lang.ada:9321 Date: 2001-07-02T13:16:30+01:00 List-Id: 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