# IpcFutexBinding

`import { IpcFutexBinding } from "destack:ipc/binding";`

Futex binding family.

```ds title="IpcFutexBinding"
export interface IpcFutexBinding {
    waitFutex(memory: SharedMemoryHandle, offset: uint64, expected: uint32, timeoutNanoseconds?: uint64 | undefined): Result<void, HostError>;
    wakeFutex(memory: SharedMemoryHandle, offset: uint64, count: uint32): Result<uint32, HostError>;
}
```

[language/library/src/ipc/binding/futex.ds:5:28](https://github.com/destack-sh/destack/blob/main/language/library/src/ipc/binding/futex.ds#L5-L28)

## Members

### `waitFutex(memory: SharedMemoryHandle, offset: uint64, expected: uint32, timeoutNanoseconds?: uint64 | undefined): Result<void, HostError>`

Wait on one shared-memory futex word.

### `wakeFutex(memory: SharedMemoryHandle, offset: uint64, count: uint32): Result<uint32, HostError>`

Wake futex waiters for one shared-memory word.
