Skip to content

Add overloads for WaitHandle.Wait(Any/All) with ReadOnlySpan<WaitHandle> #44181

@hrrrrustic

Description

@hrrrrustic

Background and Motivation

Since calls from all overloads of those methods comes to this private method which takes ReadOnlySpan, it may be useful to add public overloads with ReadOnlySpans (for example to use with stackalloc)

Proposed API

public static bool WaitAll(ReadOnlySpan<WaitHandle> waitHandles, int millisecondsTimeout);
public static bool WaitAll(ReadOnlySpan<WaitHandle> waitHandles, TimeSpan timeout);
public static bool WaitAll(ReadOnlySpan<WaitHandle> waitHandles);
public static bool WaitAll(ReadOnlySpan<WaitHandle> waitHandles, int millisecondsTimeout, bool exitContext);
public static bool WaitAll(ReadOnlySpan<WaitHandle> waitHandles, TimeSpan timeout, bool exitContext);

public static int WaitAny(ReadOnlySpan<WaitHandle> waitHandles, int millisecondsTimeout);
public static int WaitAny(ReadOnlySpan<WaitHandle> waitHandles, TimeSpan timeout);
public static int WaitAny(ReadOnlySpan<WaitHandle> waitHandles);
public static int WaitAny(ReadOnlySpan<WaitHandle> waitHandles, int millisecondsTimeout, bool exitContext);
public static int WaitAny(ReadOnlySpan<WaitHandle> waitHandles, TimeSpan timeout, bool exitContext);

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions