[vlc-devel] [PATCH v3 1/4] thread: add a function to give names to threads

Alexandre Janniaux ajanni at videolabs.io
Thu Nov 12 12:30:14 CET 2020


Sorry, I meant linux system and posix is wrong since _np
means non-posix. Just truncating to 15 characters in every
case is much simpler than having a separate version, since
except the silent truncation it works the same.

Regards,
--
Alexandre Janniaux
Videolabs

On Thu, Nov 12, 2020 at 12:07:07PM +0100, Steve Lhomme wrote:
> On 2020-11-12 11:55, Alexandre Janniaux wrote:
> > Hi,
> >
> > On Thu, Nov 12, 2020 at 11:17:51AM +0100, Steve Lhomme wrote:
> > > On 2020-11-12 9:45, Rémi Denis-Courmont wrote:
> > > > Le torstaina 12. marraskuuta 2020, 8.23.33 EET Steve Lhomme a écrit :
> > > > > > This is not Android-specific and should be in linux/thread.c.
> > > > >
> > > > > It is.
> > > >
> > > > No it is not. That nonportable POSIX thread extension function also exists on
> > > > desktop Linux and even some other OSes.
> > >
> > > But that's not what we use for Linux, nor other platforms. And I prefer to
> > > use the variants already used in dav1d that are known to work that just
> > > trying to guess which system has what hack.
> >
> > Documentation of prctl mention:
> >
> >     PR_SET_NAME (since Linux 2.6.9)
> >            Set  the name of the calling thread, using the value in the location pointed to by (char *) arg2.  The name can be up to 16 bytes long, including the terminating null byte.
> >            (If the length of the string, including the terminating null byte, exceeds 16 bytes, the string is silently truncated.)  This is the same attribute  that  can  be  set  via
> >            pthread_setname_np(3)  and  retrieved  using  pthread_getname_np(3).   The attribute is likewise accessible via /proc/self/task/[tid]/comm (see proc(5)), where [tid] is the
> >            thread ID of the calling thread, as returned by gettid(2).
> >
> > So using pthread_setname_np for every posix systems looks
> > like less code and different function to worry about.
>
> Do you consider Android like a posix system ? Because it needs the manually
> truncation where Linux doesn't.
>
> Is macOS a posix system ? The pthread_setname_np() signature doesn't even
> match the Linux one.
>
> Is NetBSD a posix system ? The pthread_setname_np() signature doesn't match
> the Linux and macOS ones.
>
> Summary: neither Linux, Android, macOS and NetBSD can use the same code and
> you are proposing to merge them.
> _______________________________________________
> vlc-devel mailing list
> To unsubscribe or modify your subscription options:
> https://mailman.videolan.org/listinfo/vlc-devel


More information about the vlc-devel mailing list