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
<2020>
2021
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
<2020>
2021
2022
2023
2024
|