Argonne National Laboratory

Experimental Physics and
Industrial Control System

2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  <2017 Index 2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  <2017
<== Date ==> <== Thread ==>

Subject: Re: changes to libCom/osi/os/osdThread.c to be used for RTEMS 4.12
From: Michael Davidsaver <mdavidsaver@gmail.com>
To: Heinz Junkes <junkes@fhi-berlin.mpg.de>
Cc: core-talk@aps.anl.gov
Date: Mon, 1 May 2017 15:07:27 -0400
On 04/26/2017 05:52 AM, Heinz Junkes wrote:
>  
> -static pthread_key_t getpthreadInfo;
> +__thread epicsThreadOSD *tls_pthreadInfo;

Well, the main potential issue I see is the '__thread' qualifier is not
part of standard (until C11 when it is spelled 'thread_local').  I know
that GCC and clang have supported this for some time.  Have you (or
Andrew) confirmed support with sun studio?  I find references which
suggest that this has been supported for some time there as well.

https://blogs.oracle.com/x86be/entry/thread_local_storage_support_in

https://docs.oracle.com/cd/E19205-01/819-5267/bkaeg/index.html


Other points:

* the duplicate definition of 'struct epicsEventOSD' should avoided.

* Why prefer prink to fprintf in some, but not all cases?  I suspect
that fprintf will work for all cases in this file, or alternately
#define printf in terms of printk.




I've also pushed some changes to fix building against RTEMS 4.10.  I
haven't been able to run test this yet.


Replies:
Re: changes to libCom/osi/os/osdThread.c to be used for RTEMS 4.12 Heinz Junkes
References:
changes to libCom/osi/os/osdThread.c to be used for RTEMS 4.12 Heinz Junkes

Navigate by Date:
Prev: Build failed in Jenkins: epics-base-3.16-win32-test #53 APS Jenkins
Next: Jenkins build is back to normal : epics-base-3.16-mac-test #79 APS Jenkins
Index: 2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  <2017
Navigate by Thread:
Prev: changes to libCom/osi/os/osdThread.c to be used for RTEMS 4.12 Heinz Junkes
Next: Re: changes to libCom/osi/os/osdThread.c to be used for RTEMS 4.12 Heinz Junkes
Index: 2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  <2017
ANJ, 02 May 2017 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·