]> git.droids-corp.org - dpdk.git/commitdiff
vhost: check file descriptor before closing
authorHuawei Xie <huawei.xie@intel.com>
Fri, 6 Mar 2015 11:05:43 +0000 (19:05 +0800)
committerThomas Monjalon <thomas.monjalon@6wind.com>
Mon, 9 Mar 2015 11:46:46 +0000 (12:46 +0100)
This avoids closing -1 in our case.

Signed-off-by: Huawei Xie <huawei.xie@intel.com>
Acked-by: Changchun Ouyang <changchun.ouyang@intel.com>
Acked-by: Tetsuya Mukawa <mukawa@igel.co.jp>
lib/librte_vhost/virtio-net.c

index 6917fcfb3e06b1b1fdcc3da778e7f57817d43723..4672e67cb4e89d90df9edf87aeac245924e6bbbe 100644 (file)
@@ -185,13 +185,13 @@ cleanup_device(struct virtio_net *dev)
        }
 
        /* Close any event notifiers opened by device. */
-       if (dev->virtqueue[VIRTIO_RXQ]->callfd)
+       if ((int)dev->virtqueue[VIRTIO_RXQ]->callfd >= 0)
                close((int)dev->virtqueue[VIRTIO_RXQ]->callfd);
-       if (dev->virtqueue[VIRTIO_RXQ]->kickfd)
+       if ((int)dev->virtqueue[VIRTIO_RXQ]->kickfd >= 0)
                close((int)dev->virtqueue[VIRTIO_RXQ]->kickfd);
-       if (dev->virtqueue[VIRTIO_TXQ]->callfd)
+       if ((int)dev->virtqueue[VIRTIO_TXQ]->callfd >= 0)
                close((int)dev->virtqueue[VIRTIO_TXQ]->callfd);
-       if (dev->virtqueue[VIRTIO_TXQ]->kickfd)
+       if ((int)dev->virtqueue[VIRTIO_TXQ]->kickfd >= 0)
                close((int)dev->virtqueue[VIRTIO_TXQ]->kickfd);
 }