Details
-
Bug
-
Resolution: Fixed
-
Major - P3
-
None
-
None
-
Fully Compatible
-
ALL
-
v4.4
-
Service arch 2020-10-19
-
16
Description
The first cbh argument here has an indeterminate value, as evaluation order of function arguments is unspecified. If argument 3 is evaluated first, the lambda will move from the cbh variable to bind its captured copy of it, leaving an empty value for argument 1. cbh is an object of a class that wraps a std::shared_ptr.
|
|
_alarms.emplace(cbh,
|
_now_inlock() + timeout,
|
[this,
|
cbh = std::move(cbh),
|
queuesToCheck = std::move(queuesToCheck),
|
rs = std::move(rs)](Status) {
|
_interruptWithResponse_inlock(cbh, queuesToCheck, rs);
|
});
|
|
This may or may not be a contributor to BF-18045.
Bug was introduced as part of SERVER-39513, which added the cbh argument to the AlarmInfo constructor.
Attachments
Issue Links
- is caused by
-
SERVER-39513 NetworkInterface::setAlarm should be cancellable
-
- Closed
-