Deutsch   English   Français   Italiano  
<vj37o7$3eaf4$4@dont-email.me>

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: "Chris M. Thomasson" <chris.m.thomasson.1@gmail.com>
Newsgroups: comp.lang.c
Subject: Re: best approach for multithreading (?)
Date: Sat, 7 Dec 2024 20:36:24 -0800
Organization: A noiseless patient Spider
Lines: 38
Message-ID: <vj37o7$3eaf4$4@dont-email.me>
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>
 <20241207044414.446@kylheku.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
Injection-Date: Sun, 08 Dec 2024 05:36:24 +0100 (CET)
Injection-Info: dont-email.me; posting-host="021479c43f8aee38ea8f1e7f736414c6";
	logging-data="3615204"; mail-complaints-to="abuse@eternal-september.org";	posting-account="U2FsdGVkX1/S4pm1HIgi+Y7XzaaHpRdCLifF6V2A9Gk="
User-Agent: Mozilla Thunderbird
Cancel-Lock: sha1:LbK7xI1v3syslyiXSYi3c8sOSFY=
In-Reply-To: <20241207044414.446@kylheku.com>
Content-Language: en-US
Bytes: 3117

On 12/7/2024 7:49 PM, Kaz Kylheku wrote:
> 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.
> 

Semaphores are sig safe, so to speak. It's been a while:

https://www.man7.org/linux/man-pages/man3/sem_post.3.html

should be sig safe? Or, am I wrong here Kaz?