mirror of
https://github.com/luanti-org/luanti.git
synced 2025-06-27 16:36:03 +00:00
Network: fix a concurrency problem, by re-adding a copy in ConnectionCommand
This commit is contained in:
parent
a383eb0eb9
commit
5b04f5e7d2
1 changed files with 12 additions and 0 deletions
|
@ -330,6 +330,18 @@ struct ConnectionCommand
|
|||
bool raw = false;
|
||||
|
||||
ConnectionCommand() = default;
|
||||
ConnectionCommand &operator=(const ConnectionCommand &other)
|
||||
{
|
||||
type = other.type;
|
||||
address = other.address;
|
||||
peer_id = other.peer_id;
|
||||
channelnum = other.channelnum;
|
||||
// We must copy the buffer here to prevent race condition
|
||||
data = SharedBuffer<u8>(*other.data, other.data.getSize());
|
||||
reliable = other.reliable;
|
||||
raw = other.reliable;
|
||||
return *this;
|
||||
}
|
||||
|
||||
void serve(Address address_)
|
||||
{
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue