-
Notifications
You must be signed in to change notification settings - Fork 2.2k
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
A reader writer lock on the file region #4723
Closed
Closed
Conversation
This file contains 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
replace FileStreamRWLock to the Process package
aleks-f
requested changes
Oct 14, 2024
add atomic_bool _locked and check if FileStreamRWLock is locked on destruction for force unlock
aleks-f
added a commit
that referenced
this pull request
Oct 16, 2024
* add RWLock implementation for file [posix] * add implementation FileStreamRWLock for windows replace FileStreamRWLock to the Process package * add files FileStreamRWLock* into makefile and vcproj * remove unnecessary file from makefile * use absolute path to the TesApp with ProcessRunner * fix vc*.proj * add new test files into vc.proj.filters * fix comments * fix spelling fo PR #4723 add atomic_bool _locked and check if FileStreamRWLock is locked on destruction for force unlock * add atomic header * File lock (#4740) * throw error on any errno not only on EDEADLK * fix function naming * fix windows build * fix windows build --------- Co-authored-by: Alexander B <ale.bychuk@gmail.com> Co-authored-by: bas524 <bas524@ya.ru>
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.
This PR contains implementation of RWLock on the file descriptor
It allows multiple concurrent process-readers or one exclusive process-writer on the file region
example
!Warning
On windows you should open file by WINAPI and then use handle with poco, because Poco::FileStream doesn't open or create file with
FILE_SHARE_READ | FILE_SHARE_WRITE
andGENERIC_READ | GENERIC_WRITE
You can do it with this code
and then