EPICS Controls 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  2018  2019  <20202021  2022  2023  2024  Index 2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  <20202021  2022  2023  2024 
<== Date ==> <== Thread ==>

Subject: [Merge] ~info-martin-konrad/epics-base:replace-usleep into epics-base:3.15
From: Martin Konrad via Core-talk <core-talk at aps.anl.gov>
To: mp+380229 at code.launchpad.net
Date: Wed, 04 Mar 2020 16:20:40 -0000
Martin Konrad has proposed merging ~info-martin-konrad/epics-base:replace-usleep into epics-base:3.15.

Requested reviews:
  EPICS Core Developers (epics-core)

For more details, see:
https://code.launchpad.net/~info-martin-konrad/epics-base/+git/epics-base/+merge/380229
-- 
Your team EPICS Core Developers is requested to review the proposed merge of ~info-martin-konrad/epics-base:replace-usleep into epics-base:3.15.
diff --git a/src/libCom/osi/os/posix/epicsAtomicOSD.cpp b/src/libCom/osi/os/posix/epicsAtomicOSD.cpp
index 1cc227f..a449a69 100644
--- a/src/libCom/osi/os/posix/epicsAtomicOSD.cpp
+++ b/src/libCom/osi/os/posix/epicsAtomicOSD.cpp
@@ -48,8 +48,10 @@ void epicsAtomicLock ( EpicsAtomicLockKey * )
         status = pthread_mutex_lock ( & mutex );
         if ( status == 0 ) return;
         assert ( status == EINTR );
-        static const useconds_t retryDelayUSec = 100000;
-        usleep ( retryDelayUSec );
+        struct timespec retryDelay = { 0, 100000000 };
+        struct timespec remainingDelay;
+        while (nanosleep(&retryDelay, &remainingDelay) == -1 && errno == EINTR)
+            retryDelay = remainingDelay;
         countDown--;
         assert ( countDown );
     }

Replies:
[Merge] ~info-martin-konrad/epics-base:replace-usleep into epics-base:3.15 noreply--- via Core-talk

Navigate by Date:
Prev: Build failed: epics-base base-epicsTempFile-C-10 AppVeyor via Core-talk
Next: Mailing lists of old SourceForge "V4" project Ralph Lange via Core-talk
Index: 2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  <20202021  2022  2023  2024 
Navigate by Thread:
Prev: Build failed: epics-base base-epicsTempFile-C-10 AppVeyor via Core-talk
Next: [Merge] ~info-martin-konrad/epics-base:replace-usleep into epics-base:3.15 noreply--- via Core-talk
Index: 2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  <20202021  2022  2023  2024 
ANJ, 20 Mar 2020 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·