ok
On Thu, Apr 29, 2021 at 7:18 AM Sebastian Huber <sebastian.hu...@embedded-brains.de> wrote: > > This may reduce the code size a bit. > --- > cpukit/Makefile.am | 3 +- > cpukit/include/rtems/score/threadimpl.h | 7 ++++ > cpukit/posix/src/pthreadself.c | 32 --------------- > cpukit/rtems/src/taskself.c | 28 ------------- > cpukit/score/src/threadselfid.c | 53 +++++++++++++++++++++++++ > spec/build/cpukit/librtemscpu.yml | 3 +- > 6 files changed, 62 insertions(+), 64 deletions(-) > delete mode 100644 cpukit/posix/src/pthreadself.c > delete mode 100644 cpukit/rtems/src/taskself.c > create mode 100644 cpukit/score/src/threadselfid.c > > diff --git a/cpukit/Makefile.am b/cpukit/Makefile.am > index b0df610bed..096187c507 100644 > --- a/cpukit/Makefile.am > +++ b/cpukit/Makefile.am > @@ -620,7 +620,6 @@ librtemscpu_a_SOURCES += posix/src/pthreadgetschedparam.c > librtemscpu_a_SOURCES += posix/src/pthreadinitthreads.c > librtemscpu_a_SOURCES += posix/src/pthreadjoin.c > librtemscpu_a_SOURCES += posix/src/pthreadonce.c > -librtemscpu_a_SOURCES += posix/src/pthreadself.c > librtemscpu_a_SOURCES += posix/src/pthreadsetaffinitynp.c > librtemscpu_a_SOURCES += posix/src/pthreadsetnamenp.c > librtemscpu_a_SOURCES += posix/src/pthreadsetschedparam.c > @@ -800,7 +799,6 @@ librtemscpu_a_SOURCES += rtems/src/taskmode.c > librtemscpu_a_SOURCES += rtems/src/taskrestart.c > librtemscpu_a_SOURCES += rtems/src/taskresume.c > librtemscpu_a_SOURCES += rtems/src/tasks.c > -librtemscpu_a_SOURCES += rtems/src/taskself.c > librtemscpu_a_SOURCES += rtems/src/tasksetaffinity.c > librtemscpu_a_SOURCES += rtems/src/tasksetpriority.c > librtemscpu_a_SOURCES += rtems/src/tasksetscheduler.c > @@ -964,6 +962,7 @@ librtemscpu_a_SOURCES += score/src/threadinitialize.c > librtemscpu_a_SOURCES += score/src/threadidledefault.c > librtemscpu_a_SOURCES += score/src/threadloadenv.c > librtemscpu_a_SOURCES += score/src/threadrestart.c > +librtemscpu_a_SOURCES += score/src/threadselfid.c > librtemscpu_a_SOURCES += score/src/threadsetstate.c > librtemscpu_a_SOURCES += score/src/threadstackallocate.c > librtemscpu_a_SOURCES += score/src/threadstackfree.c > diff --git a/cpukit/include/rtems/score/threadimpl.h > b/cpukit/include/rtems/score/threadimpl.h > index 5dfd142b92..c861e8b119 100644 > --- a/cpukit/include/rtems/score/threadimpl.h > +++ b/cpukit/include/rtems/score/threadimpl.h > @@ -903,6 +903,13 @@ Thread_Control *_Thread_Get( > ISR_lock_Context *lock_context > ); > > +/** > + * @brief Gets the identifier of the calling thread. > + * > + * @return Returns the identifier of the calling thread. > + */ > +Objects_Id _Thread_Self_id( void ); > + > /** > * @brief Gets the cpu of the thread's scheduler. > * > diff --git a/cpukit/posix/src/pthreadself.c b/cpukit/posix/src/pthreadself.c > deleted file mode 100644 > index db5f2f189d..0000000000 > --- a/cpukit/posix/src/pthreadself.c > +++ /dev/null > @@ -1,32 +0,0 @@ > -/** > - * @file > - * > - * @ingroup POSIXAPI > - * > - * @brief Function returns the ID of the Calling Thread > - */ > - > -/* > - * 16.1.6 Get Calling Thread's ID, p1003.1c/Draft 10, p. 152 > - * > - * COPYRIGHT (c) 1989-1999. > - * On-Line Applications Research Corporation (OAR). > - * > - * The license and distribution terms for this file may be > - * found in the file LICENSE in this distribution or at > - * http://www.rtems.org/license/LICENSE. > - */ > - > -#ifdef HAVE_CONFIG_H > -#include "config.h" > -#endif > - > -#include <pthread.h> > - > -#include <rtems/score/percpu.h> > -#include <rtems/score/thread.h> > - > -pthread_t pthread_self( void ) > -{ > - return _Thread_Get_executing()->Object.id; > -} > diff --git a/cpukit/rtems/src/taskself.c b/cpukit/rtems/src/taskself.c > deleted file mode 100644 > index 193e691ce5..0000000000 > --- a/cpukit/rtems/src/taskself.c > +++ /dev/null > @@ -1,28 +0,0 @@ > -/** > - * @file > - * > - * @ingroup RTEMSImplClassicTask > - * > - * @brief This source file contains the implementation of > - * rtems_task_self(). > - */ > - > -/* > - * COPYRIGHT (c) 1989-2007. > - * On-Line Applications Research Corporation (OAR). > - * > - * The license and distribution terms for this file may be > - * found in the file LICENSE in this distribution or at > - * http://www.rtems.org/license/LICENSE. > - */ > - > -#ifdef HAVE_CONFIG_H > -#include "config.h" > -#endif > - > -#include <rtems/rtems/tasksimpl.h> > - > -rtems_id rtems_task_self(void) > -{ > - return _Thread_Get_executing()->Object.id; > -} > diff --git a/cpukit/score/src/threadselfid.c b/cpukit/score/src/threadselfid.c > new file mode 100644 > index 0000000000..f888a37619 > --- /dev/null > +++ b/cpukit/score/src/threadselfid.c > @@ -0,0 +1,53 @@ > +/* SPDX-License-Identifier: BSD-2-Clause */ > + > +/** > + * @file > + * > + * @ingroup RTEMSScoreThread > + * > + * @brief This source file contains the implementation of _Thread_Self_id(). > + */ > + > +/* > + * Copyright (C) 2021 embedded brains GmbH (http://www.embedded-brains.de) > + * Copyright (C) 1995 On-Line Applications Research Corporation (OAR) > + * > + * Redistribution and use in source and binary forms, with or without > + * modification, are permitted provided that the following conditions > + * are met: > + * 1. Redistributions of source code must retain the above copyright > + * notice, this list of conditions and the following disclaimer. > + * 2. Redistributions in binary form must reproduce the above copyright > + * notice, this list of conditions and the following disclaimer in the > + * documentation and/or other materials provided with the distribution. > + * > + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS > IS" > + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE > + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE > + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE > + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR > + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF > + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS > + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN > + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) > + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE > + * POSSIBILITY OF SUCH DAMAGE. > + */ > + > +#ifdef HAVE_CONFIG_H > +#include "config.h" > +#endif > + > +#include <rtems/score/threadimpl.h> > + > +#include <pthread.h> > +#include <rtems/rtems/tasksimpl.h> > + > +Objects_Id _Thread_Self_id( void ) > +{ > + return _Thread_Get_executing()->Object.id; > +} > + > +RTEMS_ALIAS( _Thread_Self_id ) pthread_t pthread_self( void ); > + > +RTEMS_ALIAS( _Thread_Self_id ) rtems_id rtems_task_self( void ); > diff --git a/spec/build/cpukit/librtemscpu.yml > b/spec/build/cpukit/librtemscpu.yml > index a3a9ee42e3..21fa6ea787 100644 > --- a/spec/build/cpukit/librtemscpu.yml > +++ b/spec/build/cpukit/librtemscpu.yml > @@ -1119,7 +1119,6 @@ source: > - cpukit/posix/src/pthreadinitthreads.c > - cpukit/posix/src/pthreadjoin.c > - cpukit/posix/src/pthreadonce.c > -- cpukit/posix/src/pthreadself.c > - cpukit/posix/src/pthreadsetaffinitynp.c > - cpukit/posix/src/pthreadsetnamenp.c > - cpukit/posix/src/pthreadsetschedparam.c > @@ -1299,7 +1298,6 @@ source: > - cpukit/rtems/src/taskrestart.c > - cpukit/rtems/src/taskresume.c > - cpukit/rtems/src/tasks.c > -- cpukit/rtems/src/taskself.c > - cpukit/rtems/src/tasksetaffinity.c > - cpukit/rtems/src/tasksetpriority.c > - cpukit/rtems/src/tasksetscheduler.c > @@ -1548,6 +1546,7 @@ source: > - cpukit/score/src/threadqtimeout.c > - cpukit/score/src/threadrestart.c > - cpukit/score/src/threadscheduler.c > +- cpukit/score/src/threadselfid.c > - cpukit/score/src/threadsetstate.c > - cpukit/score/src/threadstackallocate.c > - cpukit/score/src/threadstackfree.c > -- > 2.26.2 > > _______________________________________________ > devel mailing list > devel@rtems.org > http://lists.rtems.org/mailman/listinfo/devel _______________________________________________ devel mailing list devel@rtems.org http://lists.rtems.org/mailman/listinfo/devel