Deutsch   English   Français   Italiano  
<20241207044414.446@kylheku.com>

View for Bookmarking (what is this?)
Look up another Usenet article

Path: ...!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: Kaz Kylheku <643-408-1753@kylheku.com>
Newsgroups: comp.lang.c
Subject: Re: best approach for multithreading (?)
Date: Sun, 8 Dec 2024 03:49:29 -0000 (UTC)
Organization: A noiseless patient Spider
Lines: 35
Message-ID: <20241207044414.446@kylheku.com>
References: <ddd3a0b59c95b5752b66f46348c96a6f8279d518@i2pn2.org>
 <slrnvkousf.2d4d7.candycanearter07@candydeb.host.invalid>
 <vii0ao$2jdsb$1@dont-email.me> <20241201074928.161@kylheku.com>
 <viipr8$2qq41$4@dont-email.me> <20241203094647.518@kylheku.com>
 <vitfc3$1so4u$1@dont-email.me> <20241205191339.256@kylheku.com>
 <3mF4P.64$pAh5.41@fx06.iad> <vj0ln4$2se98$1@dont-email.me>
Injection-Date: Sun, 08 Dec 2024 04:49:30 +0100 (CET)
Injection-Info: dont-email.me; posting-host="a7f5c249dbe01658af48224af11a9e74";
	logging-data="3767724"; mail-complaints-to="abuse@eternal-september.org";	posting-account="U2FsdGVkX18WCBTjxbTmUBoo+RoddExL9fHmMbOMvWk="
User-Agent: slrn/pre1.0.4-9 (Linux)
Cancel-Lock: sha1:h3VybgFjKNraRN03bTc1ShPrDXo=
Bytes: 2797

On 2024-12-07, James Kuyper <jameskuyper@alumni.caltech.edu> wrote:
> On 12/6/24 11:10, Scott Lurndal wrote:
>> Kaz Kylheku <643-408-1753@kylheku.com> writes:
>>> On 2024-12-06, James Kuyper <jameskuyper@alumni.caltech.edu> wrote:
> ...
>>>> C <threads.h> can be implemented as a thin wrapper over POSIX threads.
>>>> The waste is relatively negligible. The differences, were intended to
>>>> allow <threads.h> to also be implemented on non-POSIX systems as
>>>> wrappers for whatever the native threading system was.
>>>
>>> Generally speaking, you can have a function called pthread_create on
>>> non-POSIX systems, and a header <pthread.h>.
>>
>> There are certain requirements of a posix threads implementation that
>> might be impossible for a non-POSIX system to implement efficiently;
>> windows, for example, doesn't support signals.
>
> My words above not-withstanding, I am not in any sense an expert on any
> kind of threading, nor of Windows. What does POSIX require of threads
> with regards to signals?

Off the top of my head, the highlights:

- threads have their own signal masks, inherited from the creator which
  calls pthtead_create.
- signal masks can be manipulated so that a given signal will be
  handled in the context of a desired thread.
- sigwait (and several other functions) can be used by a thread to
  wait for one or more signals, allowing signals to be process
  synchronously, somewhat like message passing.

-- 
TXR Programming Language: http://nongnu.org/txr
Cygnal: Cygwin Native Application Library: http://kylheku.com/cygnal
Mastodon: @Kazinator@mstdn.ca