@@ -45,6 +45,8 @@ pub struct UnixDatagram {
4545
4646impl UnixDatagram {
4747 fn new ( socket : StdUnixDatagram ) -> UnixDatagram {
48+ once_cell:: sync:: Lazy :: force ( & crate :: rt:: RUNTIME ) ;
49+
4850 UnixDatagram {
4951 watcher : Async :: new ( socket) . expect ( "UnixDatagram is known to be good" ) ,
5052 }
@@ -64,6 +66,8 @@ impl UnixDatagram {
6466 /// # Ok(()) }) }
6567 /// ```
6668 pub async fn bind < P : AsRef < Path > > ( path : P ) -> io:: Result < UnixDatagram > {
69+ once_cell:: sync:: Lazy :: force ( & crate :: rt:: RUNTIME ) ;
70+
6771 let path = path. as_ref ( ) . to_owned ( ) ;
6872 let socket = Async :: < StdUnixDatagram > :: bind ( path) ?;
6973 Ok ( UnixDatagram { watcher : socket } )
@@ -305,6 +309,8 @@ impl fmt::Debug for UnixDatagram {
305309impl From < StdUnixDatagram > for UnixDatagram {
306310 /// Converts a `std::os::unix::net::UnixDatagram` into its asynchronous equivalent.
307311 fn from ( datagram : StdUnixDatagram ) -> UnixDatagram {
312+ once_cell:: sync:: Lazy :: force ( & crate :: rt:: RUNTIME ) ;
313+
308314 UnixDatagram {
309315 watcher : Async :: new ( datagram) . expect ( "UnixDatagram is known to be good" ) ,
310316 }
@@ -319,6 +325,8 @@ impl AsRawFd for UnixDatagram {
319325
320326impl FromRawFd for UnixDatagram {
321327 unsafe fn from_raw_fd ( fd : RawFd ) -> UnixDatagram {
328+ once_cell:: sync:: Lazy :: force ( & crate :: rt:: RUNTIME ) ;
329+
322330 let raw = StdUnixDatagram :: from_raw_fd ( fd) ;
323331 let datagram = Async :: < StdUnixDatagram > :: new ( raw) . expect ( "invalid file descriptor" ) ;
324332 UnixDatagram { watcher : datagram }
0 commit comments