Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Some macOS open flags are missing from posixmodule.c #87272

Closed
ronaldoussoren opened this issue Feb 2, 2021 · 5 comments
Closed

Some macOS open flags are missing from posixmodule.c #87272

ronaldoussoren opened this issue Feb 2, 2021 · 5 comments
Labels
3.10 easy extension-modules OS-mac type-feature

Comments

@ronaldoussoren
Copy link
Contributor

@ronaldoussoren ronaldoussoren commented Feb 2, 2021

BPO 43106
Nosy @ronaldoussoren, @ned-deily, @corona10
PRs
  • #24428
  • Note: these values reflect the state of the issue at the time it was migrated and might not reflect the current state.

    Show more details

    GitHub fields:

    assignee = None
    closed_at = <Date 2021-02-04.01:13:54.288>
    created_at = <Date 2021-02-02.19:26:29.108>
    labels = ['extension-modules', 'OS-mac', 'type-feature', 'easy', '3.10']
    title = 'Some macOS open flags are missing from posixmodule.c'
    updated_at = <Date 2021-02-04.01:13:54.287>
    user = 'https://github.com/ronaldoussoren'

    bugs.python.org fields:

    activity = <Date 2021-02-04.01:13:54.287>
    actor = 'corona10'
    assignee = 'none'
    closed = True
    closed_date = <Date 2021-02-04.01:13:54.288>
    closer = 'corona10'
    components = ['Extension Modules', 'macOS']
    creation = <Date 2021-02-02.19:26:29.108>
    creator = 'ronaldoussoren'
    dependencies = []
    files = []
    hgrepos = []
    issue_num = 43106
    keywords = ['patch', 'easy (C)']
    message_count = 5.0
    messages = ['386159', '386161', '386179', '386181', '386466']
    nosy_count = 3.0
    nosy_names = ['ronaldoussoren', 'ned.deily', 'corona10']
    pr_nums = ['24428']
    priority = 'normal'
    resolution = 'fixed'
    stage = 'resolved'
    status = 'closed'
    superseder = None
    type = 'enhancement'
    url = 'https://bugs.python.org/issue43106'
    versions = ['Python 3.10']

    @ronaldoussoren
    Copy link
    Contributor Author

    @ronaldoussoren ronaldoussoren commented Feb 2, 2021

    The following O_* flags are present in the macOS 11 SDK, but aren't provided by posixmodule.c:

    O_FSYNC (alias for O_SYNC)
    O_EVTONLY
    O_SYMLINK
    O_NOFOLLOW_ANY

    @ronaldoussoren ronaldoussoren added 3.10 extension-modules OS-mac easy type-feature labels Feb 2, 2021
    @ronaldoussoren
    Copy link
    Contributor Author

    @ronaldoussoren ronaldoussoren commented Feb 2, 2021

    Likewise for O_POPUP and O_ALERT, although I don't understand what these are supposed to do.

    @corona10
    Copy link
    Member

    @corona10 corona10 commented Feb 3, 2021

    I can see some users use such flags with manual mapping
    Looks good to support it :)

    https://github.com/TaskEvolution/Task-Coach-Evolution/blob/master/taskcoach/taskcoachlib/filesystem/fs_darwin.py#L27

    @corona10
    Copy link
    Member

    @corona10 corona10 commented Feb 3, 2021

    O_FSYNC could be used as an alias of O_SYNC.
    O_EVTONLY is used for kqueue API.

    but other flags I don't know where to use it.
    So I submit the patch to add O_FSYNC and O_EVTONLY only.

    If other flags should be added, please let me know

    @corona10
    Copy link
    Member

    @corona10 corona10 commented Feb 3, 2021

    New changeset f917c24 by Dong-hee Na in branch 'master':
    bpo-43106: Add os.O_EVTONLY/O_FSYNC/O_SYMLINK/O_NOFOLLOW_ANY (GH-24428)
    f917c24

    @corona10 corona10 closed this as completed Feb 4, 2021
    @ezio-melotti ezio-melotti transferred this issue from another repository Apr 10, 2022
    Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
    Labels
    3.10 easy extension-modules OS-mac type-feature
    Projects
    None yet
    Development

    No branches or pull requests

    2 participants