Fix infinite loop issue with non-closed connections #217
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.
With some server configurations (I couldn't tell what exactly), the problem of the infinite loop caused by the use of
feof()
with a connection opened withfsockopen()
and not being closed by the server as explained on the PHP manual page of the function happens. This results in the process not being completed, the e-mails aren't checked and it can actually lead to a 504 error.In order to fix that, I have replaced the
while
loop by ado {} while();
so that the end of the resource$this->connection
is actually processed and the correct value is returned, allowing the function to continue its process.