mirror of
https://github.com/fmtlib/fmt.git
synced 2024-12-28 15:28:35 +00:00
Ceci n'est pas une pipe
This commit is contained in:
parent
d83c1b8d4a
commit
d5823aae36
@ -315,6 +315,7 @@ class FMT_API file {
|
||||
|
||||
// Creates a pipe setting up read_end and write_end file objects for reading
|
||||
// and writing respectively.
|
||||
// DEPRECATED! Taking files as out parameters is deprecated.
|
||||
static void pipe(file& read_end, file& write_end);
|
||||
|
||||
// Creates a buffered_file object associated with this file and detaches
|
||||
|
@ -143,6 +143,7 @@ TEST(scan_test, file) {
|
||||
}
|
||||
|
||||
TEST(scan_test, lock) {
|
||||
|
||||
fmt::file read_end, write_end;
|
||||
fmt::file::pipe(read_end, write_end);
|
||||
|
||||
@ -152,6 +153,7 @@ TEST(scan_test, lock) {
|
||||
write_end.close();
|
||||
});
|
||||
|
||||
std::atomic<int> count = 0;
|
||||
fmt::buffered_file f = read_end.fdopen("r");
|
||||
auto fun = [&]() {
|
||||
int value = 0;
|
||||
@ -161,6 +163,7 @@ TEST(scan_test, lock) {
|
||||
EXPECT_EQ(value, 42);
|
||||
break;
|
||||
}
|
||||
++count;
|
||||
}
|
||||
};
|
||||
std::thread consumer1(fun);
|
||||
@ -168,5 +171,7 @@ TEST(scan_test, lock) {
|
||||
producer.join();
|
||||
consumer1.join();
|
||||
consumer2.join();
|
||||
EXPECT_EQ(count, 1000);
|
||||
|
||||
}
|
||||
#endif // FMT_USE_FCNTL
|
||||
|
Loading…
Reference in New Issue
Block a user