pub(crate) fn new() -> Result<Self> {
        let inner = Semaphore::new()?;

        Ok(Self {
            inner: Arc::new(Mutex::new(inner)),
        })
    }
/// Creates a new waker.
///
/// `Waker` is based on the `Semaphore`. You have to use the semaphore
/// handle along with the `WaitForMultipleObjects`.
Creates a new waker.
`Waker` is based on the `Semaphore`. You have to use the semaphore
handle along with the `WaitForMultipleObjects`.
Creates a new waker . ` Waker ` is based on the ` Semaphore ` . You have to use the semaphore handle along with the ` WaitForMultipleObjects ` .
pub(crate) fn new() -> Result<Self> {
        let inner = Semaphore::new()?;
        Ok(Self {
            inner: Arc::new(Mutex::new(inner)),
        })
    }
pub ( crate ) fn new ( ) -> Result < Self > { let inner = Semaphore :: new ( ) ? ; Ok ( Self { inner : Arc :: new ( Mutex :: new ( inner ) ) , } ) }
Creates a new waker.
Creates a new waker .