Skip to content
This repository has been archived by the owner on Oct 10, 2018. It is now read-only.

Deadloop fixing #56

Open
wants to merge 2 commits into
base: master
Choose a base branch
from

Conversation

clovertrail
Copy link

There will be a dead loop if monitor.counter is larger than expected number in each process. This happens frequently because testDone was scheduled every 500ms and it will check whether monitor.counter == number.

This fix records "expectCounter" in monitor itself, so when the expectCounter is equal to counter, monitor will stop increase counter and it also notify the worker through callback. This can avoid the dead loop.

In addition, allow users to specify a customized timeout.

testDone is scheduled every 500ms, but the termination
check is counter === number, so, there is high possibility
that after every 500ms, the counter is bigger than number,
then testDone will go to deadloop.

Another issue is socket.io does not support to specify
a custom timeout value, the default value is 20000ms.
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants