}
else
{
- lm->disconn_slaves++;
-
elt.key = -1;
elt.data_struct = conn;
if ((index =
/* try connectiong to master */
err = memif_request_connection (conn);
- if ((err < 0) && (lm->disconn_slaves == 1))
+ if ((err != MEMIF_ERR_SUCCESS) && (lm->disconn_slaves == 0))
{
/* connection failed, arm reconnect timer (if not armed) */
if (timerfd_settime (lm->timerfd, 0, &lm->arm, NULL) < 0)
goto error;
}
}
+ lm->disconn_slaves++;
}
*c = conn;
}
else
{
+ err = memif_syscall_error_handler (errno);
strcpy ((char *) conn->remote_disconnect_string,
- memif_strerror (memif_syscall_error_handler (errno)));
+ memif_strerror (err));
goto error;
}