handle bad iscsi->fd in iscsi_service
Just do nothing if the file descriptor is invalid. Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
This commit is contained in:
@@ -721,6 +721,9 @@ iscsi_service_reconnect_if_loggedin(struct iscsi_context *iscsi)
|
|||||||
int
|
int
|
||||||
iscsi_service(struct iscsi_context *iscsi, int revents)
|
iscsi_service(struct iscsi_context *iscsi, int revents)
|
||||||
{
|
{
|
||||||
|
if (iscsi->fd < 0)
|
||||||
|
return 0;
|
||||||
|
|
||||||
if (revents & POLLERR) {
|
if (revents & POLLERR) {
|
||||||
int err = 0;
|
int err = 0;
|
||||||
socklen_t err_size = sizeof(err);
|
socklen_t err_size = sizeof(err);
|
||||||
@@ -755,7 +758,7 @@ iscsi_service(struct iscsi_context *iscsi, int revents)
|
|||||||
return iscsi_service_reconnect_if_loggedin(iscsi);
|
return iscsi_service_reconnect_if_loggedin(iscsi);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (iscsi->is_connected == 0 && iscsi->fd != -1 && revents&POLLOUT) {
|
if (iscsi->is_connected == 0 && revents&POLLOUT) {
|
||||||
int err = 0;
|
int err = 0;
|
||||||
socklen_t err_size = sizeof(err);
|
socklen_t err_size = sizeof(err);
|
||||||
struct sockaddr_in local;
|
struct sockaddr_in local;
|
||||||
|
|||||||
Reference in New Issue
Block a user