> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.nvidia.com/holoscan/sdk-user-guide/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.nvidia.com/holoscan/sdk-user-guide/_mcp/server.

# holoscan::ScopedWaitedFlock

> RAII wrapper over a waited ScopedFlock.

RAII wrapper over a waited [ScopedFlock](scopedflock).

At the initialization, it waits for the lock to be available until wait\_time\_ms\_ ms is reached. It stops trying to lock after that and does not lock the file descriptor.

When wait time is set to zero or less, then it falls back to [ScopedFlock](scopedflock)

```cpp showLineNumbers={false}
#include <holoscan/file_fifo_mutex.hpp>
```

***

## Constructors

### ScopedWaitedFlock \[#scopedwaitedflock]

```cpp showLineNumbers={false}
holoscan::ScopedWaitedFlock::ScopedWaitedFlock(
    int fd,
    int lock_type,
    int unlock_type,
    int wait_time_ms = DEFAULT_FIFOMUTEX_WAIT_TIME_MS
)
```

The following overloads are deleted to prevent misuse:

```cpp showLineNumbers={false}
holoscan::ScopedWaitedFlock::ScopedWaitedFlock() = delete;
holoscan::ScopedWaitedFlock::ScopedWaitedFlock(const ScopedWaitedFlock &) = delete;
```

### Destructor \[#destructor]

### \~ScopedWaitedFlock

```cpp showLineNumbers={false}
holoscan::ScopedWaitedFlock::~ScopedWaitedFlock() = default
```

***

## Assignment operators

### operator= \[#operator\_assign]

```cpp showLineNumbers={false}
ScopedWaitedFlock & holoscan::ScopedWaitedFlock::operator=(
    const ScopedWaitedFlock &
) = delete
```

***

## Methods

### locked \[#locked]

```cpp showLineNumbers={false}
bool holoscan::ScopedWaitedFlock::locked() const
```

***

## Member variables

| Name           | Type                             | Description |
| -------------- | -------------------------------- | ----------- |
| `scoped_lock_` | `std::unique_ptr< ScopedFlock >` |             |