public inbox for ltp@lists.linux.it
 help / color / mirror / Atom feed
From: Cyril Hrubis <chrubis@suse.cz>
To: ltp@lists.linux.it
Subject: [LTP] [PATCH v2 1/2] lib: add safe_pthread_create() & safe_pthread_join()
Date: Mon, 11 Apr 2016 16:46:57 +0200	[thread overview]
Message-ID: <20160411144657.GA1243@rei> (raw)
In-Reply-To: <57068E0D.4090809@oracle.com>

Hi!
> > Technically the thread_id does not need to be numeric type, POSIX
> > defines it as a opaque, may be structure as well.
> 
> We could print in hex like this:
> 
> if (rval) {
>      unsigned int i;
>      unsigned char *ptr = (unsigned char *)&thread_id;
>      size_t tid_size = sizeof(thread_id);
>      char buf[tid_size * 2 + 1];
> 
>      for (i = 0; i < tid_size; ++i)
>          sprintf(buf + i * 2, "%02x", ptr[i]);
> 
>      tst_brk_(file, lineno, TBROK,
>               "pthread_join(%s,%p) failed: %s", buf, retval, ...);
> }
> 
> But bytes might be in different order due to endianness,
> supposing we compare this value with "%lx", e.g. on x86_64
> 
> 00971fe3257f0000 vs 7f25e31f9700 (%lx)
> 
> What do you think?

I'm starting to consider not printing the value at all, since it's not
that important as gdb and strace pthread ids are not related to the
value of pthread_t. We can just print "pthread_join(..., %p)" instead.

Or we can add a configure check if pthread_t is actually numeric.
Something as:

	pthread_t *t = (unsigned long*)NULL;

Should fail with -Werror unless pthread_t is defined as unsigned long.

Then we can proceed with printing it with "%ul" if the check was OK, but
I'm not sure that it's worth of the work.

-- 
Cyril Hrubis
chrubis@suse.cz

  reply	other threads:[~2016-04-11 14:46 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-04-07  8:10 [LTP] [PATCH v2 1/2] lib: add safe_pthread_create() & safe_pthread_join() Alexey Kodanev
2016-04-07  8:10 ` [LTP] [PATCH v2 2/2] syscalls/fcntl: add new test for open file description locks Alexey Kodanev
2016-04-07 12:38   ` Cyril Hrubis
2016-04-12 10:01   ` Alexey Kodanev
2016-04-07 11:35 ` [LTP] [PATCH v2 1/2] lib: add safe_pthread_create() & safe_pthread_join() Cyril Hrubis
2016-04-07 16:42   ` Alexey Kodanev
2016-04-11 14:46     ` Cyril Hrubis [this message]
2016-04-12  9:21       ` Alexey Kodanev

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=20160411144657.GA1243@rei \
    --to=chrubis@suse.cz \
    --cc=ltp@lists.linux.it \
    /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