Skip to content

selectmodule.c: errno < 0 comparison is always false #146205

@aisk

Description

@aisk

Bug report

Bug description:

Summary

Multiple sites in Modules/selectmodule.c check if (errno < 0) after close/epoll_ctl calls. Since errno is an int set to positive values (POSIX), this check is always false. Close errors are silently swallowed.

Fix

Change if (errno < 0) to if (retval < 0) (check the return value, not errno directly).

CPython versions tested on:

CPython main branch

Operating systems tested on:

No response

Linked PRs

Metadata

Metadata

Assignees

No one assigned

    Labels

    type-bugAn unexpected behavior, bug, or error

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions