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

ExtEvLoop: Add new ExtEvLoop (PECL source ext-ev) #12

Closed
wants to merge 21 commits into from

Conversation

steverhoades
Copy link
Contributor

Brought reactphp/reactphp#178 inline with current branch. Fixed unit tests. added additional unit test for periodic timer.

@steverhoades
Copy link
Contributor Author

Don't believe travis, the unit tests are not passing - dealing with segfault issues in 5.6 and after unit tests run successfully in the other PHP versions.

Have open ticket with pecl-ev author here: https://bitbucket.org/osmanov/pecl-ev/issue/9/segfault#comment-12153834

@steverhoades
Copy link
Contributor Author

The issue appears to be isolated to thread safe PHP builds. A PHP 5.6 build with thread safe off works fine.

@steverhoades
Copy link
Contributor Author

Updating to capture status. pecl-ev extension is fixed, all tests are now passing.

DaveRandom and others added 5 commits September 15, 2014 12:25
- Change `stream` and `numeric` to valid phpdoc internal types
- Add some docs to TimerInterface and Timer
@nrk nrk self-assigned this Oct 28, 2014
nrk added 2 commits October 28, 2014 11:39
From DaveRandom:fix/docblocks.
script:
- phpunit --coverage-text
- phpunit --coverage-text
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This line should be indented by 2, not 4 spaces.

@nrk
Copy link
Member

nrk commented Oct 31, 2014

I'm done with the code review for now, I did a few tests and everything seems to be working fine but now we need to do a few stress tests and check that there are no memory leaks. @cboden will probably join us in the test-fest next week :-)

@nrk
Copy link
Member

nrk commented Nov 4, 2014

Thanks! Don't worry and take your time, we are not in a hurry :-)

@steverhoades
Copy link
Contributor Author

@nrk ok so attempted to run tests with pecl ev package install instead of clone, unfortunately it looks like in order to install the pecl ev package you need root access.

Travis reports no pecl found when attempting to run the command via sudo. For now, I'm reverting back to cloning the repo.

@cboden
Copy link
Member

cboden commented Dec 31, 2014

Functionally looks good but I believe there's a memory leak. I tested the simple memory test and it kept going up and up where as the other loops remain steady.

/* defer timer */
$this->nextTick(function() use ($timer) {
$this->timers->detach($timer);
});
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

hey, this defer was added to work around a segfault, right? is it still needed?

@shouze
Copy link

shouze commented May 21, 2016

ping @cboden @steverhoades @markkimsal how can we move forward on #12 & #25 to make something mergeable at some time? This is already a long story for the 2 PRs, should be sad to give up now ;)

@cboden
Copy link
Member

cboden commented Nov 10, 2016

Tested on PHP7 with updated Ev extension over the weekend. Still seeing memory leaks.

@WyriHaximus
Copy link
Member

@cboden Just ran it with the test-memory.php from #59 can't see any leak, attached the output.

@clue
Copy link
Member

clue commented Feb 8, 2017

I'd like to make this actionable :shipit:

What is the current status here? How is this related to #25?

Is there still interest in this ticket or can either be closed?

@clue clue changed the title add support for Ev extension (libev) ExtEvLoop: Add new ExtEvLoop (libev) Feb 8, 2017
@nrk
Copy link
Member

nrk commented Feb 8, 2017

@clue both this PR and #25 target the same PECL extension and they look very similar aside from a few minor differences. On a related note our own React\EventLoop\LibEvLoop is based on a unmaintained extension which is not available on PECL and is not even compatible with PHP 7, so we should just take the chance and switch to the official pecl extension which is actively developed and definitely more stable then it was back in 2014 when this PR was opened.

@clue clue mentioned this pull request Mar 15, 2017
@clue clue changed the title ExtEvLoop: Add new ExtEvLoop (libev) ExtEvLoop: Add new ExtEvLoop (PECL source ext-ev) Dec 4, 2017
@clue
Copy link
Member

clue commented Dec 4, 2017

Thank you for working on this and helping push this forward! This is kind of an old PR and it looks like #97 is the most up to date version of this feature, so I'm closing this one in favor of the newer PR :shipit: This should help us focusing on shipping this in a future version 👍

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

8 participants