X-Git-Url: http://git.droids-corp.org/?a=blobdiff_plain;f=lib%2Flibrte_vhost%2Fvhost_user%2Ffd_man.h;h=74ecde2c877a3e022fcdaa8188a9fb54e11ecd9a;hb=0d822b804769b5f70fa0e2b72a0f93e4c063783f;hp=26b46195991bab7911f26433abe75ff90ce726d9;hpb=fbf7e07ca1423f7cbf96063a7e522a07b6c43fc9;p=dpdk.git diff --git a/lib/librte_vhost/vhost_user/fd_man.h b/lib/librte_vhost/vhost_user/fd_man.h index 26b4619599..74ecde2c87 100644 --- a/lib/librte_vhost/vhost_user/fd_man.h +++ b/lib/librte_vhost/vhost_user/fd_man.h @@ -34,20 +34,23 @@ #ifndef _FD_MAN_H_ #define _FD_MAN_H_ #include +#include #define MAX_FDS 1024 -typedef void (*fd_cb)(int fd, void *dat); +typedef void (*fd_cb)(int fd, void *dat, int *remove); struct fdentry { int fd; /* -1 indicates this entry is empty */ fd_cb rcb; /* callback when this fd is readable. */ fd_cb wcb; /* callback when this fd is writeable.*/ void *dat; /* fd context */ + int busy; /* whether this entry is being used in cb. */ }; struct fdset { struct fdentry fd[MAX_FDS]; + pthread_mutex_t fd_mutex; int num; /* current fd number of this fdset */ };