Project

General

Profile

Actions

Bug #3957

closed

Face::processEvents blocks forever if no packet is sent

Added by Junxiao Shi almost 8 years ago. Updated almost 8 years ago.

Status:
Closed
Priority:
Normal
Category:
Base
Target version:
Start date:
02/10/2017
Due date:
% Done:

100%

Estimated time:

Description

Snippet to reproduce:

// g++ -o x -std=c++0x x.cpp $(pkg-config --cflags --libs libndn-cxx)
#include <ndn-cxx/face.hpp>

int main()
{
  ndn::Face face;
  // face.expressInterest(ndn::Interest("/P"), nullptr, nullptr, nullptr);
  face.processEvents();
  return 0;
}

Expected: Program terminates within 1 second.
Actual: Program does not terminate after 10 seconds.
Uncommenting expressInterest line allows the program to terminate within 1 second.

Face::processEvents Doxygen says, when keepThread argument is false (the default), the function should return when there is no outstanding events. A face that has never sent or received any packet should satisfy this condition.


Related issues 1 (1 open0 closed)

Related to ndn-tools - Bug #3902: ndncatchunks with AIMD pipeline randomly hangs after transfer is completeNew

Actions
Actions

Also available in: Atom PDF