FazBrowse GitHub Viewer | Trending |
URL:
| Home
Tools: [Download Repo ZIP]   [Original HTTPS Page]

Add support for System.Threading.Lock · Issue #2204 · dotnet/reactive · GitHub

Add support for System.Threading.Lock #2204

Description

Feature request

Please describe the feature.

Is there any interest in new operators for directly supporting System.Threading.Lock objects, where locks are used? E.G.

public static IObservable<T> Synchronize<T>(
    this    IObservable<T>  source,
            Lock            gate);

in addition to

public static IObservable<T> Synchronize<T>(
    this    IObservable<T>  source,
            object          gate);

Given that anyone wanting this operator, or similar ones, would have to implement it from scratch, rather than through composition of existing operators, that System.Threading.Lock is now considered a threading primitive, and that it would not produce any compatibility issues, it seems like a good candidate for support in the core library,

Which next library version (i.e., patch, minor or major)?

As a non-breaking new feature, this could be introduced in the next minor version.

What are the platform(s), environment(s) and related component version(s)?

System.Threading.Lock is available .NET 9+.

As I understand, System.Reactive does not currently produce target-specific artifacts above .NET 6? If so, build targeting config would need to be adjusted to add .NET 9+ artifacts.

How commonly is this feature needed (one project, several projects, company-wide, global)?

Currently, DynamicData is using a custom version of the Synchronize operator, internally, for .NET 9+ targets.

I'll be happy to provide a PR for this feature, if deemed appropriate.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions


      Back | FazBrowse Home | New Git URL