Allow using Poco::FileStream to wrap arbitrary file handles/descriptors as C++ streams#3444
Closed
dgrunwald wants to merge 3 commits intopocoproject:develfrom
Closed
Allow using Poco::FileStream to wrap arbitrary file handles/descriptors as C++ streams#3444dgrunwald wants to merge 3 commits intopocoproject:develfrom
Poco::FileStream to wrap arbitrary file handles/descriptors as C++ streams#3444dgrunwald wants to merge 3 commits intopocoproject:develfrom
Conversation
Member
|
@dgrunwald please redirect this to devel branch |
Now that FileStream can be used to wrap arbitrary file handles, it is possible that it ends up wrapping a pipe.
9c4165b to
4c6af8e
Compare
aleks-f
requested changes
May 29, 2022
aleks-f
approved these changes
Jun 10, 2023
matejk
added a commit
that referenced
this pull request
Jan 29, 2024
…rs as C++ streams (#3444). * Allow opening a file descriptor/HANDLE as C++ stream. * FileStream: treat read from closed pipe as EOF. * chore(Filestream): conde style (naming) Co-Authored-By: Alex Fabijanic <alex@pocoproject.org> Co-Authored-By: Matej Kenda <matejken@gmail.com>
Contributor
|
I rebased this PR on latest devel and created new PR (#4424). |
matejk
added a commit
that referenced
this pull request
Jan 31, 2024
…rs as C++ streams (#3444). * Allow opening a file descriptor/HANDLE as C++ stream. * FileStream: treat read from closed pipe as EOF. * chore(Filestream): conde style (naming) Co-Authored-By: Alex Fabijanic <alex@pocoproject.org> Co-Authored-By: Matej Kenda <matejken@gmail.com>
matejk
added a commit
that referenced
this pull request
Feb 1, 2024
…rs as C++ streams (#3444). * Allow opening a file descriptor/HANDLE as C++ stream. * FileStream: treat read from closed pipe as EOF. * chore(Filestream): conde style (naming) Co-Authored-By: Alex Fabijanic <alex@pocoproject.org> Co-Authored-By: Matej Kenda <matejken@gmail.com>
Author
|
Closing in favor of #4424. |
matejk
added a commit
that referenced
this pull request
May 7, 2024
…rs as C++ streams (#3444). * Allow opening a file descriptor/HANDLE as C++ stream. * FileStream: treat read from closed pipe as EOF. * chore(Filestream): conde style (naming) Co-Authored-By: Alex Fabijanic <alex@pocoproject.org> Co-Authored-By: Matej Kenda <matejken@gmail.com>
matejk
added a commit
that referenced
this pull request
May 7, 2024
matejk
added a commit
that referenced
this pull request
May 7, 2024
matejk
added a commit
that referenced
this pull request
May 7, 2024
matejk
added a commit
that referenced
this pull request
May 8, 2024
…ile handles/descriptors as C++ streams (#4424) * Allow using Poco::FileStream to wrap arbitrary file handles/descriptors as C++ streams (#3444). * Allow opening a file descriptor/HANDLE as C++ stream. * FileStream: treat read from closed pipe as EOF. * chore(Filestream): conde style (naming) Co-Authored-By: Alex Fabijanic <alex@pocoproject.org> Co-Authored-By: Matej Kenda <matejken@gmail.com> * enh(FileStream): make FileIOS::open a virtual function. (#3444) * test(FileStream): unit test for FileStream::openHandle (#3444) * Update CONTRIBUTORS. * test(FileStream): Win32 unit test fix. * build(CMake): Require policy minimum version 3.15. --------- Co-authored-by: Daniel Grunwald <grunwald@axivion.com> Co-authored-by: Alex Fabijanic <alex@pocoproject.org>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
In our application we open files in Python code, pass the file handle/descriptor to C++ code, and then use
FileStreamto access the file from C++. It's also possible for Python to pass a duplicate of the stdin handle to C++, so we need to handle theERROR_BROKEN_PIPEspecial case.