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

SourceFileBufferedReadWriteStream does not handle well #refreshBufferFrom: #5291

Closed
VincentBlondeau opened this issue Dec 2, 2019 · 4 comments
Closed

Comments

@VincentBlondeau
Copy link
Contributor

@VincentBlondeau VincentBlondeau commented Dec 2, 2019

When writing in a deferFlushDuring mode (to compile methods), when the buffer is full #refreshBufferFrom: will write the contents of it even if the chunk is not complete. After a #refreshBufferFrom: the source file can be in an instable state and then cannot be read by epicea.

I suggest to flush only complete strings (the argument of the nextPutAll: for instance) and not flushing in the middle of it.

@VincentBlondeau

This comment has been minimized.

Copy link
Contributor Author

@VincentBlondeau VincentBlondeau commented Dec 2, 2019

But it will not work if the string to write is larger than the buffer... I then suggest to disable the gathering of the timestamp from Epicea in the change log when in deferFlushDuring: block.

@VincentBlondeau

This comment has been minimized.

Copy link
Contributor Author

@VincentBlondeau VincentBlondeau commented Dec 2, 2019

Weak linked with #5292

@tesonep

This comment has been minimized.

Copy link
Collaborator

@tesonep tesonep commented Dec 3, 2019

@VincentBlondeau can you check if the fix I have proposed for #5292 keeps the same problem? It should be fixed by the same code.

@MarcusDenker

This comment has been minimized.

Copy link
Member

@MarcusDenker MarcusDenker commented Dec 10, 2019

merged

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
3 participants
You can’t perform that action at this time.