Skip to content

Remove all thread-blocking functions in std::os #10057

Closed
@alexcrichton

Description

@alexcrichton

All functions which block the current thread need to get deleted. This includes almost all of the std::os module. This is all legacy code at this point and it needs to get all rebuilt on the new runtime's libuv implementation.

Most file operations are exposed through rt::io::file, which I think is comprehensive enough, but this may involve adding more uv bindings where necessary.

I'm not tagging this as E-easy because I don't think that it's a straightforward refactoring. This will involve understanding how to migrate functions and being sure to expose errors which occur at the underlying layer.

This may also be best held off until #6163 is dealt with, but it's going to be painful in either way from what I can tell.

Nominating for 1.0, we can never block a thread in a syscall.

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