pub fn sys_object_wait_async(
        &self,
        handle_value: HandleValue,
        port_handle_value: HandleValue,
        key: u64,
        signals: u32,
        options: u32,
    ) -> ZxResult {
        let signals = Signal::from_bits_truncate(signals);
        info!(
            "object.wait_async: handle={:#x}, port={:#x}, key={:#x}, signal={:?}, options={:#X}",
            handle_value, port_handle_value, key, signals, options
        );
        if options != 0 {
            unimplemented!()
        }
        // TODO filter `options`
        let proc = self.thread.proc();
        let object = proc.get_dyn_object_with_rights(handle_value, Rights::WAIT)?;
        let port = proc.get_object_with_rights::<Port>(port_handle_value, Rights::WRITE)?;
        object.send_signal_to_port_async(signals, &port, key);
        Ok(())
    }
/// A non-blocking syscall subscribes for signals on an object.
A non-blocking syscall subscribes for signals on an object.
A non - blocking syscall subscribes for signals on an object .
pub fn sys_object_wait_async(
        &self,
        handle_value: HandleValue,
        port_handle_value: HandleValue,
        key: u64,
        signals: u32,
        options: u32,
    ) -> ZxResult {
        let signals = Signal::from_bits_truncate(signals);
        info!(
            "object.wait_async: handle={:#x}, port={:#x}, key={:#x}, signal={:?}, options={:#X}",
            handle_value, port_handle_value, key, signals, options
        );
        if options != 0 {
            unimplemented!()
        }
        // TODO filter `options`
        let proc = self.thread.proc();
        let object = proc.get_dyn_object_with_rights(handle_value, Rights::WAIT)?;
        let port = proc.get_object_with_rights::<Port>(port_handle_value, Rights::WRITE)?;
        object.send_signal_to_port_async(signals, &port, key);
        Ok(())
    }
pub fn sys_object_wait_async ( & self , handle_value : HandleValue , port_handle_value : HandleValue , key : u64 , signals : u32 , options : u32 , ) -> ZxResult { let signals = Signal :: from_bits_truncate ( signals ) ; info ! ( " " handle_value port_handle_value key signals options ) ; if options != 0 { unimplemented ! ( ) } // TODO filter `options` let proc = self . thread . proc ( ) ; let object = proc . get_dyn_object_with_rights ( handle_value , Rights :: WAIT ) ? ; let port = proc . get_object_with_rights :: < Port > ( port_handle_value , Rights :: WRITE ) ? ; object . send_signal_to_port_async ( signals , & port , key ) ; Ok ( ( ) ) }
A non-blocking syscall subscribes for signals on an object.
A non - blocking syscall subscribes for signals on an object .
&self
handle_value
HandleValue
port_handle_value
HandleValue
key
u64
signals
u32
options
u32
&self
handle_value
HandleValue
port_handle_value
HandleValue
key
u64
signals
u32
options
u32