mailing list of musl libc
 help / color / mirror / code / Atom feed
From: <Salman.Ahmed@weidmueller.com>
To: <jens.gustedt@inria.fr>
Cc: <musl@lists.openwall.com>
Subject: AW: segmentation fault on pthread_detach
Date: Tue, 27 Mar 2018 12:51:54 +0000	[thread overview]
Message-ID: <E9B8FCA610BB6249B7C397BE4A01AE194122A1@SRVDE355.weidmueller.com> (raw)
In-Reply-To: <20180327143255.67c8b2c5@inria.fr>

Hi Jens,

Thanks for the clarification. So I guess with musl I have to remove the pthread_detach (which is redundant anyways after a successful join) or call it only if pthread_join returns an error?

Regards
Salman

-----Ursprüngliche Nachricht-----
Von: Jens Gustedt [mailto:jens.gustedt@inria.fr]
Gesendet: Dienstag, 27. März 2018 14:33
An: Ahmed, Salman <Salman.Ahmed@weidmueller.com>
Cc: musl@lists.openwall.com
Betreff: Re: [musl] segmentation fault on pthread_detach

Hello Salman,

On Tue, 27 Mar 2018 12:00:39 +0000 <Salman.Ahmed@weidmueller.com> wrote:

> My application using musl libc runs into a seg fault if I call
> pthread_detach after pthread_join on the same thread. From my
> understanding pthread_detach should return ESRCH if a previous join
> was called on a particular thread. That’s the correct behavior I see
> if I run my program with glibc. But on my LEDE based router I run into
> the seg fault issue. The cross compiling toolchain I use is
> arm_cortex-a9+neon_gcc-5.4.0_musl-1.1.16_eabi. Simple example I used
> for testing is below.

I don't think that your expectation is correct. The POSIX standard
states:

> The behavior is undefined if the value specified by the thread
> argument to pthread_detach() does not refer to a joinable thread.

(a thread that has already been joined is not joinable)

This is for good reasons. The system must be able to dispose of all resources that a thread occupied after it has been joined. The memory will be reused, in particular there may be a new thread that uses the same identifier.

Jens

--
:: INRIA Nancy Grand Est ::: Camus ::::::: ICube/ICPS :::
:: ::::::::::::::: office Strasbourg : +33 368854536   ::
:: :::::::::::::::::::::: gsm France : +33 651400183   ::
:: ::::::::::::::: gsm international : +49 15737185122 ::
:: http://icube-icps.unistra.fr/index.php/Jens_Gustedt ::
________________________________
Kommanditgesellschaft - Sitz: Detmold - Amtsgericht Lemgo HRA 2790 -
Komplementärin: Weidmüller Interface Führungsgesellschaft mbH -
Sitz: Detmold - Amtsgericht Lemgo HRB 3924;
Geschäftsführer: José Carlos Álvarez Tobar, Elke Eckstein, Jörg Timmermann;
USt-ID-Nr. DE124599660

  reply	other threads:[~2018-03-27 12:51 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-03-27 12:00 Salman.Ahmed
2018-03-27 12:32 ` Jens Gustedt
2018-03-27 12:51   ` Salman.Ahmed [this message]
2018-03-27 13:00     ` Szabolcs Nagy

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=E9B8FCA610BB6249B7C397BE4A01AE194122A1@SRVDE355.weidmueller.com \
    --to=salman.ahmed@weidmueller.com \
    --cc=jens.gustedt@inria.fr \
    --cc=musl@lists.openwall.com \
    /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.
Code repositories for project(s) associated with this public inbox

	https://git.vuxu.org/mirror/musl/

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 NNTP newsgroup(s).