svn commit: r361770 - in head: include lib/libthr lib/libthr/thread share/man/man3
Antoine Brodin
antoine at freebsd.org
Thu Jun 4 05:51:56 UTC 2020
On Thu, Jun 4, 2020 at 4:30 AM Jung-uk Kim <jkim at freebsd.org> wrote:
>
> On 20. 6. 3., Konstantin Belousov wrote:
> > Author: kib
> > Date: Wed Jun 3 20:54:36 2020
> > New Revision: 361770
> > URL: https://svnweb.freebsd.org/changeset/base/361770
> >
> > Log:
> > Add pthread_getname_np() and pthread_setname_np() aliases
> >
> > for pthread_get_name_np() and pthread_set_name_np(), to be
> > compatible with Linux.
> >
> > PR: 238404
> > Proposed and reviewed by: markj
> > Sponsored by: The FreeBSD Foundation
> > MFC after: 1 week
> > Differential revision: https://reviews.freebsd.org/D25117
> >
> > Modified:
> > head/include/pthread_np.h
> > head/lib/libthr/pthread.map
> > head/lib/libthr/thread/thr_info.c
> > head/share/man/man3/Makefile
> > head/share/man/man3/pthread_set_name_np.3
> >
> > Modified: head/include/pthread_np.h
> > ==============================================================================
> > --- head/include/pthread_np.h Wed Jun 3 20:42:52 2020 (r361769)
> > +++ head/include/pthread_np.h Wed Jun 3 20:54:36 2020 (r361770)
> > @@ -50,6 +50,7 @@ int pthread_attr_get_np(pthread_t, pthread_attr_t *);
> > int pthread_attr_getaffinity_np(const pthread_attr_t *, size_t, cpuset_t *);
> > int pthread_attr_setaffinity_np(pthread_attr_t *, size_t, const cpuset_t *);
> > void pthread_get_name_np(pthread_t, char *, size_t);
> > +void pthread_getname_np(pthread_t, char *, size_t);
> > int pthread_getaffinity_np(pthread_t, size_t, cpuset_t *);
> > int pthread_getthreadid_np(void);
> > int pthread_main_np(void);
> > @@ -65,6 +66,7 @@ void pthread_resume_all_np(void);
> > int pthread_resume_np(pthread_t);
> > int pthread_peekjoin_np(pthread_t, void **);
> > void pthread_set_name_np(pthread_t, const char *);
> > +void pthread_setname_np(pthread_t, const char *);
> > int pthread_setaffinity_np(pthread_t, size_t, const cpuset_t *);
> > int pthread_single_np(void);
> > void pthread_suspend_all_np(void);
> >
> > Modified: head/lib/libthr/pthread.map
> > ==============================================================================
> > --- head/lib/libthr/pthread.map Wed Jun 3 20:42:52 2020 (r361769)
> > +++ head/lib/libthr/pthread.map Wed Jun 3 20:54:36 2020 (r361770)
> > @@ -328,5 +328,7 @@ FBSD_1.5 {
> > };
> >
> > FBSD_1.6 {
> > + pthread_getname_np;
> > pthread_peekjoin_np;
> > + pthread_setname_np;
> > };
> >
> > Modified: head/lib/libthr/thread/thr_info.c
> > ==============================================================================
> > --- head/lib/libthr/thread/thr_info.c Wed Jun 3 20:42:52 2020 (r361769)
> > +++ head/lib/libthr/thread/thr_info.c Wed Jun 3 20:54:36 2020 (r361770)
> > @@ -46,6 +46,7 @@ __FBSDID("$FreeBSD$");
> > #include "thr_private.h"
> >
> > __weak_reference(_pthread_set_name_np, pthread_set_name_np);
> > +__weak_reference(_pthread_set_name_np, pthread_setname_np);
> >
> > static void
> > thr_set_name_np(struct pthread *thread, const char *name)
> > @@ -89,6 +90,7 @@ thr_get_name_np(struct pthread *thread, char *buf, siz
> > }
> >
> > __weak_reference(_pthread_get_name_np, pthread_get_name_np);
> > +__weak_reference(_pthread_get_name_np, pthread_getname_np);
> >
> > void
> > _pthread_get_name_np(pthread_t thread, char *buf, size_t len)
> >
> > Modified: head/share/man/man3/Makefile
> > ==============================================================================
> > --- head/share/man/man3/Makefile Wed Jun 3 20:42:52 2020 (r361769)
> > +++ head/share/man/man3/Makefile Wed Jun 3 20:54:36 2020 (r361770)
> > @@ -493,7 +493,9 @@ PTHREAD_MLINKS+=pthread_rwlock_rdlock.3 pthread_rwlock
> > PTHREAD_MLINKS+=pthread_rwlock_wrlock.3 pthread_rwlock_trywrlock.3
> > PTHREAD_MLINKS+=pthread_schedparam.3 pthread_getschedparam.3 \
> > pthread_schedparam.3 pthread_setschedparam.3
> > -PTHREAD_MLINKS+=pthread_set_name_np.3 pthread_get_name_np.3
> > +PTHREAD_MLINKS+=pthread_set_name_np.3 pthread_get_name_np.3 \
> > + pthread_set_name_np.3 pthread_getname_np.3 \
> > + pthread_set_name_np.3 pthread_setname_np.3
> > PTHREAD_MLINKS+=pthread_spin_init.3 pthread_spin_destroy.3 \
> > pthread_spin_lock.3 pthread_spin_trylock.3 \
> > pthread_spin_lock.3 pthread_spin_unlock.3
> >
> > Modified: head/share/man/man3/pthread_set_name_np.3
> > ==============================================================================
> > --- head/share/man/man3/pthread_set_name_np.3 Wed Jun 3 20:42:52 2020 (r361769)
> > +++ head/share/man/man3/pthread_set_name_np.3 Wed Jun 3 20:54:36 2020 (r361770)
> > @@ -24,12 +24,14 @@
> > .\"
> > .\" $FreeBSD$
> > .\"
> > -.Dd August 12, 2018
> > +.Dd June 3, 2020
> > .Dt PTHREAD_SET_NAME_NP 3
> > .Os
> > .Sh NAME
> > .Nm pthread_get_name_np ,
> > +.Nm pthread_getname_np ,
> > .Nm pthread_set_name_np
> > +.Nm pthread_setname_np
> > .Nd set and retrieve the thread name
> > .Sh LIBRARY
> > .Lb libpthread
> > @@ -38,18 +40,26 @@
> > .Ft void
> > .Fn pthread_get_name_np "pthread_t thread" "char *name" "size_t len"
> > .Ft void
> > +.Fn pthread_getname_np "pthread_t thread" "char *name" "size_t len"
> > +.Ft void
> > .Fn pthread_set_name_np "pthread_t thread" "const char *name"
> > +.Ft void
> > +.Fn pthread_setname_np "pthread_t thread" "const char *name"
> > .Sh DESCRIPTION
> > The
> > .Fn pthread_set_name_np
> > -function applies a copy of the given
> > +and
> > +.Fn pthread_setname_np
> > +functions applies a copy of the given
> > .Fa name
> > to the given
> > .Fa thread .
> > .Pp
> > The
> > .Fn pthread_get_name_np
> > -function retrieves the
> > +and
> > +.Fn pthread_getname_np
> > +functions retrieves the
> > .Fa name
> > associated with
> > .Fa thread .
> > @@ -70,6 +80,11 @@ appear inside are silently ignored.
> > and
> > .Fn pthread_get_name_np
> > are non-standard extensions.
> > +.Fn pthread_setname_np
> > +and
> > +.Fn pthread_getname_np
> > +are also non-standard, but are implemented by larger number of operating
> > +systems so they are in fact more portable.
> > .Sh AUTHORS
> > This manual page was written by
> > .An Alexey Zelkin Aq Mt phantom at FreeBSD.org
>
> It broke Firefox build and I found Linux pthread_{get,set}name_np(3)
> returns int.
>
> https://linux.die.net/man/3/pthread_getname_np
>
> I guess you need to write a wrapper. Please revert this patch for now.
Hi,
It broke devel/glib20 too, which now tries to use the function
without including the header:
http://beefy18.nyi.freebsd.org/data/head-amd64-default/p537862_s361780/logs/errors/glib-2.56.3_7,1.log
Antoine
More information about the svn-src-all
mailing list