mirror of
https://github.com/netbirdio/gvisor.git
synced 2026-05-22 17:12:49 -07:00
Fix data race in syscalls:socket_ip_tcp_generic_loopback_test_native
Can't read/write to the same buffer in concurrent threads. PiperOrigin-RevId: 509622769
This commit is contained in:
committed by
gVisor bot
parent
5c30349f08
commit
f3099f1288
@@ -289,15 +289,16 @@ TEST_P(TCPSocketPairTest, ShutdownRdAllowsReadOfReceivedDataBeforeEOF) {
|
||||
// response.
|
||||
TEST_P(TCPSocketPairTest, ShutdownWrServerClientClose) {
|
||||
auto sockets = ASSERT_NO_ERRNO_AND_VALUE(NewSocketPair());
|
||||
char buf[10] = {};
|
||||
ScopedThread t([&]() {
|
||||
ASSERT_THAT(RetryEINTR(read)(sockets->first_fd(), buf, sizeof(buf)),
|
||||
SyscallSucceedsWithValue(sizeof(buf)));
|
||||
ASSERT_THAT(RetryEINTR(write)(sockets->first_fd(), buf, sizeof(buf)),
|
||||
SyscallSucceedsWithValue(sizeof(buf)));
|
||||
char sbuf[10] = {};
|
||||
ASSERT_THAT(RetryEINTR(read)(sockets->first_fd(), sbuf, sizeof(sbuf)),
|
||||
SyscallSucceedsWithValue(sizeof(sbuf)));
|
||||
ASSERT_THAT(RetryEINTR(write)(sockets->first_fd(), sbuf, sizeof(sbuf)),
|
||||
SyscallSucceedsWithValue(sizeof(sbuf)));
|
||||
ASSERT_THAT(close(sockets->release_first_fd()),
|
||||
SyscallSucceedsWithValue(0));
|
||||
});
|
||||
char buf[10] = {};
|
||||
ASSERT_THAT(RetryEINTR(write)(sockets->second_fd(), buf, sizeof(buf)),
|
||||
SyscallSucceedsWithValue(sizeof(buf)));
|
||||
ASSERT_THAT(RetryEINTR(shutdown)(sockets->second_fd(), SHUT_WR),
|
||||
|
||||
Reference in New Issue
Block a user