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

Socket fix #112

Closed
wants to merge 3 commits into from
Closed

Socket fix #112

wants to merge 3 commits into from

Conversation

gerdr
Copy link
Contributor

@gerdr gerdr commented Mar 9, 2013

Return undefined from IO::Socket::INET.get on reaching end-of-stream and actually loop in IO::Socket::INET.lines

Also makes sure that overlong lines won't be split.

@gerdr
Copy link
Contributor Author

gerdr commented Mar 10, 2013

This improves upon the current situation, but does not fix all issues. In particular:

  • overlong lines will still be split even if no separator has been reached yet fixed by gerdr@dfe1eb7
  • when iterating gather/take, there's apparently some pre-fetching happening, which does not work with blocking calls
  • there's a Parrot issue which prevents the last separator to be detected until the stream has been closed fixed by [BUGFIX] Fix issue #942 parrot/parrot#943

@gerdr
Copy link
Contributor Author

gerdr commented Mar 10, 2013

Depending on how my question on parrot-dev turns out, the second commmit might be replaced by a parrot-side change.

@gerdr
Copy link
Contributor Author

gerdr commented Mar 11, 2013

Having taken another look at the code, the second commit does indeed not handle the case of split multi-character separators correctly.

A proper fix will probably end up buffering partial lines between calls to get(). I'm waiting for some answer on parrot-dev before tackling that.

…ines"

Making sure that we actually read a whole line is now handled by Parrot.

This reverts commit dfe1eb7.
@gerdr
Copy link
Contributor Author

gerdr commented Mar 12, 2013

now obsolete - see #115

@gerdr gerdr closed this Mar 12, 2013
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

1 participant