}
void
-IfaceMgr::handleClosedExternalSocket(SocketCallbackInfo s) {
+IfaceMgr::handleClosedExternalSocket(SocketCallbackInfo const& s) {
errno = 0;
if (fcntl(s.socket_, F_GETFD) < 0 && (errno == EBADF)) {
- s.unusable_ = true;
+ SocketCallbackInfo x(s);
+ x.unusable_ = true;
auto& idx = callbacks_.get<1>();
auto it = idx.find(s.socket_);
// Expect that the external socket is still there!
if (it != idx.end()) {
- idx.replace(it, s);
+ idx.replace(it, x);
}
isc_throw(SocketFDError, "unexpected state (closed) for fd: " << s.socket_);
}
{
std::lock_guard<std::mutex> lock(callbacks_mutex_);
if (!callbacks_.empty()) {
- for (SocketCallbackInfo s : callbacks_) {
+ for (SocketCallbackInfo const& s : callbacks_) {
if (s.unusable_) {
continue;
}
bool found = false;
{
std::lock_guard<std::mutex> lock(callbacks_mutex_);
- for (SocketCallbackInfo s : callbacks_) {
+ for (SocketCallbackInfo const& s : callbacks_) {
if (s.unusable_) {
continue;
}
{
std::lock_guard<std::mutex> lock(callbacks_mutex_);
if (!callbacks_.empty()) {
- for (SocketCallbackInfo s : callbacks_) {
+ for (SocketCallbackInfo const& s : callbacks_) {
if (s.unusable_) {
continue;
}
bool found = false;
{
std::lock_guard<std::mutex> lock(callbacks_mutex_);
- for (SocketCallbackInfo s : callbacks_) {
+ for (SocketCallbackInfo const& s : callbacks_) {
if (s.unusable_) {
continue;
}
{
std::lock_guard<std::mutex> lock(callbacks_mutex_);
if (!callbacks_.empty()) {
- for (SocketCallbackInfo s : callbacks_) {
+ for (SocketCallbackInfo const& s : callbacks_) {
if (s.unusable_) {
continue;
}
bool found = false;
{
std::lock_guard<std::mutex> lock(callbacks_mutex_);
- for (SocketCallbackInfo s : callbacks_) {
+ for (SocketCallbackInfo const& s : callbacks_) {
if (s.unusable_) {
continue;
}
{
std::lock_guard<std::mutex> lock(callbacks_mutex_);
if (!callbacks_.empty()) {
- for (SocketCallbackInfo s : callbacks_) {
+ for (SocketCallbackInfo const& s : callbacks_) {
if (s.unusable_) {
continue;
}
bool found = false;
{
std::lock_guard<std::mutex> lock(callbacks_mutex_);
- for (SocketCallbackInfo s : callbacks_) {
+ for (SocketCallbackInfo const& s : callbacks_) {
if (s.unusable_) {
continue;
}