public inbox for glibc-bugs@sourceware.org
help / color / mirror / Atom feed
From: "adhemerval.zanella at linaro dot org" <sourceware-bugzilla@sourceware.org>
To: glibc-bugs@sourceware.org
Subject: [Bug libc/30558] SIGEV_THREAD is badly implemented
Date: Tue, 20 Jun 2023 13:01:47 +0000	[thread overview]
Message-ID: <bug-30558-131-T6QkQg69oK@http.sourceware.org/bugzilla/> (raw)
In-Reply-To: <bug-30558-131@http.sourceware.org/bugzilla/>

https://sourceware.org/bugzilla/show_bug.cgi?id=30558

--- Comment #20 from Adhemerval Zanella <adhemerval.zanella at linaro dot org> ---
(In reply to Stas Sergeev from comment #19)
> > I don't think so, the earlier quote (which you linked from the previous POSIX
> > version by the way, although it has not changed on POSIX 2017) allows both
> > implementations.
> 
> This:
> 
> [quote]
> the threads created in response to a timer expiration are created detached,
> or in an unspecified way if the thread attribute's detachstate is
> PTHREAD_CREATE_JOINABLE.
> [/quote]
> 
> I don't understand how it allows something
> else. If there are "threads created in response to a timer expiration",
> then obviously that means every timer
> expiration creates a thread. There can't
> be "threads created in response to a timer expiration"
> created only on *some* expirations but not all...

Because afaiu this sentence only specifies that implementation *might* create
one more thread per timer expiration, it does not specify that the thread
*must* create one thread per expiration.

> 
> > if the implementation is not subject to such issue it can ignore the 'may fail'.
> 
> Sure but that still defeats your claim that
> it advises against 1 thread per tick. It
> doesn't advice against, for sure. I see
> nothing that advises against or suggests
> otherwise, so could you please provide a
> quote that supports your point?

I don't think, as I explained earlier. On POSIX, the 'may fail' is usually used
to allow different implementations to signal different errors that are bounded
by the implementation itself (which seems to be this case).

> 
> Note: I am perfectly fine if you just tell
> "there is no such quote, but my impl is better
> so lets use it". Its perfectly fine, but
> saying posix allows it, is probably not fine
> unless it can be confirmed by a quote.
> 
> > Not being joinable means that calling pthread_join() is UB.
> 
> Hmm, ok. My definition differs, i.e. not
> being joinable means detached. Thanks for
> clarifying yours, I'll use it across this
> thread.

Calling pthread_join() on detached threads is also UB, glibc allows it in some
cases but the support is brittle and error-prone. So afaik non-being joinable
does mean the thread as either been created in detached mode or has called
pthread_detach(), and calling pthread_join() is UB in both cases.

-- 
You are receiving this mail because:
You are on the CC list for the bug.

  parent reply	other threads:[~2023-06-20 13:01 UTC|newest]

Thread overview: 32+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-06-15 19:36 [Bug libc/30558] New: " stsp at users dot sourceforge.net
2023-06-15 21:04 ` [Bug libc/30558] " adhemerval.zanella at linaro dot org
2023-06-16  2:23 ` stsp at users dot sourceforge.net
2023-06-16  6:44 ` stsp at users dot sourceforge.net
2023-06-16  7:29 ` stsp at users dot sourceforge.net
2023-06-16  7:51 ` stsp at users dot sourceforge.net
2023-06-16 11:44 ` stsp at users dot sourceforge.net
2023-06-19 17:41 ` adhemerval.zanella at linaro dot org
2023-06-19 18:54 ` stsp at users dot sourceforge.net
2023-06-19 19:33 ` adhemerval.zanella at linaro dot org
2023-06-19 19:48 ` stsp at users dot sourceforge.net
2023-06-19 20:14 ` adhemerval.zanella at linaro dot org
2023-06-19 20:26 ` stsp at users dot sourceforge.net
2023-06-19 21:15 ` adhemerval.zanella at linaro dot org
2023-06-19 21:21 ` adhemerval.zanella at linaro dot org
2023-06-19 21:58 ` stsp at users dot sourceforge.net
2023-06-19 22:51 ` adhemerval.zanella at linaro dot org
2023-06-20  4:14 ` stsp at users dot sourceforge.net
2023-06-20 12:21 ` adhemerval.zanella at linaro dot org
2023-06-20 12:49 ` stsp at users dot sourceforge.net
2023-06-20 13:01 ` adhemerval.zanella at linaro dot org [this message]
2023-06-20 13:13 ` stsp at users dot sourceforge.net
2023-06-21  3:19 ` stsp at users dot sourceforge.net
2023-06-21 14:32 ` adhemerval.zanella at linaro dot org
2023-06-21 14:41 ` stsp at users dot sourceforge.net
2023-06-21 14:43 ` adhemerval.zanella at linaro dot org
2023-06-21 14:52 ` stsp at users dot sourceforge.net
2023-06-21 15:07 ` adhemerval.zanella at linaro dot org
2023-06-22  2:57 ` bugdal at aerifal dot cx
2023-06-22  5:23 ` stsp at users dot sourceforge.net
2023-06-23 18:34 ` adhemerval.zanella at linaro dot org
2023-06-24 17:03 ` crrodriguez at opensuse dot org

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=bug-30558-131-T6QkQg69oK@http.sourceware.org/bugzilla/ \
    --to=sourceware-bugzilla@sourceware.org \
    --cc=glibc-bugs@sourceware.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).