Skip to content

Clearer explanation of locking streams? #7

Open
@rrnewton

Description

@rrnewton

It's not totally clear from the haddocks what the semantics are:

http://hackage.haskell.org/packages/archive/io-streams/1.0.1.0/doc/html/System-IO-Streams.html

The docs seem to say that direct access to the InputStream or OutputStream become threadsafe (peek, read, write), though this could be made more painfully clear. But how does locking multiple points within an arbitrary network of parallel, concurrentMerged streams work out?

By reading the code for concurrentMerge I infer that it always uses a unique thread to access each input, so it shouldn't require locking on its inputs. But maybe the docs could indicate how these things fit together.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions