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,FREEMAIL_FROM autolearn=ham autolearn_force=no version=3.4.4 X-Google-Thread: 103376,77efb4ab26922e3 X-Google-Attributes: gid103376,domainid0,public,usenet X-Google-Language: ENGLISH,ASCII-7-bit Path: g2news1.google.com!postnews.google.com!k30g2000hse.googlegroups.com!not-for-mail From: =?ISO-8859-1?Q?Hibou57_=28Yannick_Duch=EAne=29?= Newsgroups: comp.lang.ada Subject: Re: Blocking syscalls in Tasks Date: Sat, 27 Sep 2008 11:58:57 -0700 (PDT) Organization: http://groups.google.com Message-ID: <905b1e30-a0a3-4986-ac50-b5dfc1f21ba6@k30g2000hse.googlegroups.com> References: <49dd14a0-73b9-44b4-a599-c86da7229c6c@f36g2000hsa.googlegroups.com> NNTP-Posting-Host: 77.198.58.233 Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit X-Trace: posting.google.com 1222541937 6022 127.0.0.1 (27 Sep 2008 18:58:57 GMT) X-Complaints-To: groups-abuse@google.com NNTP-Posting-Date: Sat, 27 Sep 2008 18:58:57 +0000 (UTC) Complaints-To: groups-abuse@google.com Injection-Info: k30g2000hse.googlegroups.com; posting-host=77.198.58.233; posting-account=vrfdLAoAAAAauX_3XwyXEwXCWN3A1l8D User-Agent: G2/1.0 X-HTTP-UserAgent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; fr),gzip(gfe),gzip(gfe) Xref: g2news1.google.com comp.lang.ada:2107 Date: 2008-09-27T11:58:57-07:00 List-Id: On 27 sep, 19:26, schwer...@gmail.com wrote: > Hi there, > > I'm wondering whether a blocking system call like read() called via C > interfacing in a task would block only the task or the complete > process. > > Are tasks commonly implemented using threads and does the language > specification request tasks to be in the user- or kernelspace? Or is > there a real difference between tasks and threads? > > Greetings and thanks in advance > > Chris Hello Chris, I've tryed to check for a reliable references, and found something which may help you to make some assertion. It seems that it is thread/ task blocking rather than process blocking. This is based on mail exchanged by developpers of the Linux kernel. It is dated Sun, 12 Aug 2007, so do not make assertion using this about too much old kernels (you did not say what kernel version you use, neither if it is a vanilla one or not) Here is the link to the mail at the LKML mail archives : http://lkml.org/lkml/2007/8/12/102 It explains how with older kernel version, two thread may be simultaneously blocked in some way, and talk about a patch to help threads to not indefinitely bock on some IO events. This talks about thread (or task) blocking, not process. And further more, it explicitely talk about two thread in a process which do theire own work simultaneously whithout them to be required to be both block by an IO operation of one alone. Do you think this is relevant and/or of interest for your stuff ?