Skip to content

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

@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
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions