public inbox for glibc-bugs@sourceware.org help / color / mirror / Atom feed
From: "stsp at users dot sourceforge.net" <sourceware-bugzilla@sourceware.org> To: glibc-bugs@sourceware.org Subject: [Bug libc/30558] SIGEV_THREAD is badly implemented Date: Tue, 20 Jun 2023 04:14:20 +0000 [thread overview] Message-ID: <bug-30558-131-hcsuLyeYa2@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 #17 from Stas Sergeev <stsp at users dot sourceforge.net> --- > This is defined as 'may fail', which does not bind the implementation > to the required semantic of one thread per time expiration. Still it is enough to make your other claim invalid: "Reading the SIGEV_THREAD description [1], it is not clear to me that a new thread should be created for *every* timer expiration from the same timer. In fact, POSIX also advises against it on the timer_settime application because of the concurrent stack usage issue [2]." The earlier quote provided by me is very explicit on a thread per tick, and timer_settime doesn't advice against that because it even defines the failure per multiple stack usage. This means it foresee 1 detached thread per tick, rather than advicing against. So we have 1 explicit quote about that, and we have 1 that implicitly supports that. I'd say "posix is very clear on this". > This wording is a user-visible API, so not being joinable There is no such wording. The wording it: "In neither case is it valid to call pthread_join()" and you conclude it means not joinable. But it doesn't mean so. > And glibc does not need to join the thread But we were discussing the user-provided PTHREAD_CREATE_JOINABLE attribute. > Afaik POSIX only defines API after a de-facto implementation > exactly to avoid adding non-tested ones. Maybe that was modeled after some very old bsd impl, no idea. Linux would definitely not start from such an impl. It is visibly even trying to fix timer_getoverrun()'s definition, and then re-implements the whole thing in a timerfd. > A DR for what exactly? Exactly for proposing 1 detached thread per tick in the quote I pointed. And there were no quotes that say otherwise. Also they should explicitly disallow calling pthread_exit() and other things that musl disallow. Also they should realize that 1 thread per tick breaks timer_getoverrun(), and probably re-spec timer_getoverrun() completely. Or if they fail to do the above, then at least they should keep supporting passing a pthread attribute, rather than to declare that an UB (although this is not needed if they fix the rest). There are the reasons for a DR here. -- You are receiving this mail because: You are on the CC list for the bug.
next prev parent reply other threads:[~2023-06-20 4:14 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 [this message] 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 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-hcsuLyeYa2@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: linkBe 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).