rosnodejs icon indicating copy to clipboard operation
rosnodejs copied to clipboard

Incorrect timeout handling in _waitForActionServerToStart of ActionClientInterface

Open tziem opened this issue 4 years ago • 0 comments

I think the timeout handling in _waitForActionServerToStart of ActionClientInterface is incorrect. No matter how big the timeout value is, the method comes back immediately with false.

 _waitForActionServerToStart(timeoutMs, start) {
    return setTimeoutP(100)
    .then(() => {
      if (this.isServerConnected()) {
        return true;
      }
      else if (timeoutMs > 0 && start + timeoutMs > Date.now()) {
        return false;
      }
      else {
        return this._waitForActionServerToStart(timeoutMs, start);
      }
    });
  }

If I'm not wrong, the if statement should be:

if (timeoutMs > 0 && start + timeoutMs < Date.now())

tziem avatar Jun 23 '21 09:06 tziem