Reported by covscan: 2. dpdk-21.11/lib/vhost/socket.c:852: lock_acquire: Calling function "pthread_mutex_lock" acquires lock "vhost_user.mutex". 23. dpdk-21.11/lib/vhost/socket.c:955: sleep: Call to "vhost_user_reconnect_init" might sleep while holding lock "vhost_user.mutex". # 953| vsocket->reconnect = !(flags & RTE_VHOST_USER_NO_RECONNECT); # 954| if (vsocket->reconnect && reconn_tid == 0) { # 955|-> if (vhost_user_reconnect_init() != 0) # 956| goto out_mutex; # 957| } The reason for this warning is that creating a ctrl thread might end up with sleep() calls. Maybe creating the ctrl thread could be moved early (out of the mutex). Plus, comparing (pthread_t) reconn_tid against 0 is ugly. Fixing this bz would be a good time to clean this too.