diff --git a/vio/vio.cc b/vio/vio.cc index 6ec0f5f9ce3..17cdf416745 100644 --- a/vio/vio.cc +++ b/vio/vio.cc @@ -397,6 +397,16 @@ bool vio_reset(Vio *vio, enum enum_vio_type type, my_socket sd, vio->kq_fd = -1; } #endif + +#ifdef USE_PPOLL_IN_VIO + new_vio.thread_id = vio->thread_id; + new_vio.signal_mask = vio->signal_mask; + if (vio->poll_shutdown_flag.test_and_set()) + new_vio.poll_shutdown_flag.test_and_set(); + else + new_vio.poll_shutdown_flag.clear(); +#endif + /* Overwrite existing Vio structure */