Skip to content

Commit cbe2a3e

Browse files
authored
Merge pull request #46143 from Dr15Jones/usleepReplace
Replace usleep with std::this_thread::sleep_for
2 parents a194d08 + 5437d35 commit cbe2a3e

20 files changed

+90
-76
lines changed

FWCore/Concurrency/README.md

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -167,10 +167,11 @@ Example: protecting `std::cout` so printouts do not intertwine.
167167
```C++
168168
edm::SerialTaskQueue queue;
169169

170+
using namespace std::chrono_literals;
170171
oneapi::tbb::task_group group;
171172
for(int i=0; i<3; ++i) {
172173
group.run([&queue, &group] {
173-
usleep(1000);
174+
std::this_thread::sleep_for(1000us);
174175
queue.push(group1, [i](){
175176
std::cout <<"loop 1"<<i<<"\n";
176177
});
@@ -179,7 +180,7 @@ Example: protecting `std::cout` so printouts do not intertwine.
179180

180181
for(int i=0; i<6; ++i) {
181182
group.run([&queue, &group] {
182-
usleep(1500);
183+
std::this_thread::sleep_for(1500us);
183184
queue.push(group1, [i](){
184185
std::cout <<"loop 2"<<i<<"\n";
185186
});

FWCore/Concurrency/test/limitedtaskqueue_t.cppunit.cpp

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
#include <iostream>
99

1010
#include <cppunit/extensions/HelperMacros.h>
11-
#include <unistd.h>
11+
#include <chrono>
1212
#include <memory>
1313
#include <atomic>
1414
#include "oneapi/tbb/task_arena.h"
@@ -32,6 +32,7 @@ class LimitedTaskQueue_test : public CppUnit::TestFixture {
3232
};
3333

3434
CPPUNIT_TEST_SUITE_REGISTRATION(LimitedTaskQueue_test);
35+
using namespace std::chrono_literals;
3536

3637
void LimitedTaskQueue_test::testPush() {
3738
{
@@ -44,19 +45,19 @@ void LimitedTaskQueue_test::testPush() {
4445

4546
queue.push(group, [&count, &waitingTasks] {
4647
CPPUNIT_ASSERT(count++ == 0);
47-
usleep(10);
48+
std::this_thread::sleep_for(10us);
4849
--waitingTasks;
4950
});
5051

5152
queue.push(group, [&count, &waitingTasks] {
5253
CPPUNIT_ASSERT(count++ == 1);
53-
usleep(10);
54+
std::this_thread::sleep_for(10us);
5455
--waitingTasks;
5556
});
5657

5758
queue.push(group, [&count, &waitingTasks] {
5859
CPPUNIT_ASSERT(count++ == 2);
59-
usleep(10);
60+
std::this_thread::sleep_for(10us);
6061
--waitingTasks;
6162
});
6263

@@ -78,21 +79,21 @@ void LimitedTaskQueue_test::testPush() {
7879

7980
queue.push(group, [&count, &waitingTasks] {
8081
CPPUNIT_ASSERT(count++ < kMax);
81-
usleep(10);
82+
std::this_thread::sleep_for(10us);
8283
--count;
8384
--waitingTasks;
8485
});
8586

8687
queue.push(group, [&count, &waitingTasks] {
8788
CPPUNIT_ASSERT(count++ < kMax);
88-
usleep(10);
89+
std::this_thread::sleep_for(10us);
8990
--count;
9091
--waitingTasks;
9192
});
9293

9394
queue.push(group, [&count, &waitingTasks] {
9495
CPPUNIT_ASSERT(count++ < kMax);
95-
usleep(10);
96+
std::this_thread::sleep_for(10us);
9697
--count;
9798
--waitingTasks;
9899
});
@@ -148,7 +149,7 @@ void LimitedTaskQueue_test::testPause() {
148149
}
149150
--waitingTasks;
150151
});
151-
usleep(100);
152+
std::this_thread::sleep_for(100us);
152153
//can't do == since the queue may not have processed the first task yet
153154
CPPUNIT_ASSERT(2 >= count);
154155
while (not resumerSet) {

FWCore/Concurrency/test/serialtaskqueue_t.cppunit.cpp

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
#include <iostream>
99

1010
#include <cppunit/extensions/HelperMacros.h>
11-
#include <unistd.h>
11+
#include <chrono>
1212
#include <memory>
1313
#include <atomic>
1414
#include "oneapi/tbb/task_arena.h"
@@ -32,6 +32,7 @@ class SerialTaskQueue_test : public CppUnit::TestFixture {
3232
};
3333

3434
CPPUNIT_TEST_SUITE_REGISTRATION(SerialTaskQueue_test);
35+
using namespace std::chrono_literals;
3536

3637
void SerialTaskQueue_test::testPush() {
3738
std::atomic<unsigned int> count{0};
@@ -43,19 +44,19 @@ void SerialTaskQueue_test::testPush() {
4344

4445
queue.push(group, [&count, &waitingTasks] {
4546
CPPUNIT_ASSERT(count++ == 0);
46-
usleep(10);
47+
std::this_thread::sleep_for(10us);
4748
--waitingTasks;
4849
});
4950

5051
queue.push(group, [&count, &waitingTasks] {
5152
CPPUNIT_ASSERT(count++ == 1);
52-
usleep(10);
53+
std::this_thread::sleep_for(10us);
5354
--waitingTasks;
5455
});
5556

5657
queue.push(group, [&count, &waitingTasks] {
5758
CPPUNIT_ASSERT(count++ == 2);
58-
usleep(10);
59+
std::this_thread::sleep_for(10us);
5960
--waitingTasks;
6061
});
6162

@@ -80,7 +81,7 @@ void SerialTaskQueue_test::testPause() {
8081
CPPUNIT_ASSERT(count++ == 0);
8182
--waitingTasks;
8283
});
83-
usleep(1000);
84+
std::this_thread::sleep_for(1000us);
8485
CPPUNIT_ASSERT(0 == count);
8586
queue.resume();
8687
do {
@@ -106,7 +107,7 @@ void SerialTaskQueue_test::testPause() {
106107
CPPUNIT_ASSERT(count++ == 3);
107108
--waitingTasks;
108109
});
109-
usleep(100);
110+
std::this_thread::sleep_for(100us);
110111
//can't do == since the queue may not have processed the first task yet
111112
CPPUNIT_ASSERT(2 >= count);
112113
queue.resume();

FWCore/Concurrency/test/serialtaskqueuechain_t.cppunit.cpp

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
#include <iostream>
99

1010
#include <cppunit/extensions/HelperMacros.h>
11-
#include <unistd.h>
11+
#include <chrono>
1212
#include <memory>
1313
#include <atomic>
1414
#include <thread>
@@ -32,6 +32,7 @@ class SerialTaskQueueChain_test : public CppUnit::TestFixture {
3232
};
3333

3434
CPPUNIT_TEST_SUITE_REGISTRATION(SerialTaskQueueChain_test);
35+
using namespace std::chrono_literals;
3536

3637
void SerialTaskQueueChain_test::testPush() {
3738
std::atomic<unsigned int> count{0};
@@ -44,19 +45,19 @@ void SerialTaskQueueChain_test::testPush() {
4445
std::atomic<int> waiting{3};
4546
chain.push(group, [&count, &waiting] {
4647
CPPUNIT_ASSERT(count++ == 0);
47-
usleep(10);
48+
std::this_thread::sleep_for(10us);
4849
--waiting;
4950
});
5051

5152
chain.push(group, [&count, &waiting] {
5253
CPPUNIT_ASSERT(count++ == 1);
53-
usleep(10);
54+
std::this_thread::sleep_for(10us);
5455
--waiting;
5556
});
5657

5758
chain.push(group, [&count, &waiting] {
5859
CPPUNIT_ASSERT(count++ == 2);
59-
usleep(10);
60+
std::this_thread::sleep_for(10us);
6061
--waiting;
6162
});
6263

@@ -80,19 +81,19 @@ void SerialTaskQueueChain_test::testPushOne() {
8081

8182
chain.push(group, [&count, &waiting] {
8283
CPPUNIT_ASSERT(count++ == 0);
83-
usleep(10);
84+
std::this_thread::sleep_for(10us);
8485
--waiting;
8586
});
8687

8788
chain.push(group, [&count, &waiting] {
8889
CPPUNIT_ASSERT(count++ == 1);
89-
usleep(10);
90+
std::this_thread::sleep_for(10us);
9091
--waiting;
9192
});
9293

9394
chain.push(group, [&count, &waiting] {
9495
CPPUNIT_ASSERT(count++ == 2);
95-
usleep(10);
96+
std::this_thread::sleep_for(10us);
9697
--waiting;
9798
});
9899

FWCore/Concurrency/test/waitingtasklist_t.cppunit.cpp

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
#include <iostream>
99

1010
#include <cppunit/extensions/HelperMacros.h>
11-
#include <unistd.h>
11+
#include <chrono>
1212
#include <memory>
1313
#include <atomic>
1414
#include <thread>
@@ -66,6 +66,7 @@ namespace {
6666
};
6767

6868
} // namespace
69+
using namespace std::chrono_literals;
6970

7071
void WaitingTaskList_test::addThenDone() {
7172
std::atomic<bool> called{false};
@@ -79,7 +80,7 @@ void WaitingTaskList_test::addThenDone() {
7980
oneapi::tbb::task_group group;
8081
waitList.add(edm::WaitingTaskHolder(group, t));
8182

82-
usleep(10);
83+
std::this_thread::sleep_for(10us);
8384
CPPUNIT_ASSERT(false == called);
8485

8586
waitList.doneWaiting(std::exception_ptr{});
@@ -100,7 +101,7 @@ void WaitingTaskList_test::addThenDone() {
100101

101102
waitList.add(edm::WaitingTaskHolder(group, t));
102103

103-
usleep(10);
104+
std::this_thread::sleep_for(10us);
104105
CPPUNIT_ASSERT(false == called);
105106

106107
waitList.doneWaiting(std::exception_ptr{});
@@ -142,7 +143,7 @@ void WaitingTaskList_test::addThenDoneFailed() {
142143

143144
waitList.add(edm::WaitingTaskHolder(group, t));
144145

145-
usleep(10);
146+
std::this_thread::sleep_for(10us);
146147
CPPUNIT_ASSERT(false == called);
147148

148149
waitList.doneWaiting(std::make_exception_ptr(std::string("failed")));

FWCore/Framework/test/stubs/TestStreamAnalyzers.cc

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ for testing purposes only.
1313
#include <tuple>
1414
#include <unistd.h>
1515
#include <vector>
16+
#include <chrono>
1617

1718
#include "FWCore/Framework/interface/CacheHandle.h"
1819
#include "FWCore/Framework/interface/stream/EDAnalyzer.h"
@@ -570,7 +571,7 @@ namespace edmtest {
570571
}
571572
// Force events to be processed concurrently
572573
if (sleepTime_ > 0) {
573-
usleep(sleepTime_);
574+
std::this_thread::sleep_for(std::chrono::microseconds(sleepTime_));
574575
}
575576
}
576577

@@ -721,7 +722,7 @@ namespace edmtest {
721722

722723
// Force events to be processed concurrently
723724
if (testGlobalCache->sleepTime_ > 0) {
724-
usleep(testGlobalCache->sleepTime_);
725+
std::this_thread::sleep_for(std::chrono::microseconds(testGlobalCache->sleepTime_));
725726
}
726727
}
727728

FWCore/Framework/test/stubs/TestStreamFilters.cc

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ for testing purposes only.
1414
#include <tuple>
1515
#include <unistd.h>
1616
#include <vector>
17+
#include <chrono>
1718

1819
#include "FWCore/Framework/interface/CacheHandle.h"
1920
#include "FWCore/Framework/interface/stream/EDFilter.h"
@@ -931,7 +932,7 @@ namespace edmtest {
931932
}
932933
// Force events to be processed concurrently
933934
if (sleepTime_ > 0) {
934-
usleep(sleepTime_);
935+
std::this_thread::sleep_for(std::chrono::microseconds(sleepTime_));
935936
}
936937
return true;
937938
}
@@ -1083,7 +1084,7 @@ namespace edmtest {
10831084

10841085
// Force events to be processed concurrently
10851086
if (testGlobalCache->sleepTime_ > 0) {
1086-
usleep(testGlobalCache->sleepTime_);
1087+
std::this_thread::sleep_for(std::chrono::microseconds(testGlobalCache->sleepTime_));
10871088
}
10881089
return true;
10891090
}

FWCore/Framework/test/stubs/TestStreamProducers.cc

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ for testing purposes only.
1414
#include <tuple>
1515
#include <unistd.h>
1616
#include <vector>
17+
#include <chrono>
1718

1819
#include "FWCore/Framework/interface/CacheHandle.h"
1920
#include "FWCore/Framework/interface/stream/EDProducer.h"
@@ -975,7 +976,7 @@ namespace edmtest {
975976
}
976977
// Force events to be processed concurrently
977978
if (sleepTime_ > 0) {
978-
usleep(sleepTime_);
979+
std::this_thread::sleep_for(std::chrono::microseconds(sleepTime_));
979980
}
980981
}
981982

@@ -1126,7 +1127,7 @@ namespace edmtest {
11261127

11271128
// Force events to be processed concurrently
11281129
if (testGlobalCache->sleepTime_ > 0) {
1129-
usleep(testGlobalCache->sleepTime_);
1130+
std::this_thread::sleep_for(std::chrono::microseconds(testGlobalCache->sleepTime_));
11301131
}
11311132
}
11321133

FWCore/Framework/test/stubs/TestTBBTasksAnalyzer.cc

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919
// system include files
2020
#include <memory>
2121
#include <atomic>
22-
#include <unistd.h>
22+
#include <chrono>
2323
#include "oneapi/tbb/task_group.h"
2424
#include "oneapi/tbb/task_arena.h"
2525

@@ -108,7 +108,7 @@ unsigned int TestTBBTasksAnalyzer::startTasks(unsigned int iNTasks, unsigned int
108108
break;
109109
}
110110
}
111-
usleep(m_usecondsToSleep);
111+
std::this_thread::sleep_for(std::chrono::microseconds(m_usecondsToSleep));
112112
--(count);
113113
});
114114
}

0 commit comments

Comments
 (0)