In expressInterest, just take a pointer to the Closure, not a shared_ptr
diff --git a/tests/test-get-async.cpp b/tests/test-get-async.cpp
index ab77a09..1acf65f 100644
--- a/tests/test-get-async.cpp
+++ b/tests/test-get-async.cpp
@@ -43,12 +43,12 @@
int main(int argc, char** argv)
{
try {
- shared_ptr<MyClosure> closure(new MyClosure());
+ MyClosure closure;
Face face("E.hub.ndn.ucla.edu", 9695, shared_ptr<UdpTransport>(new UdpTransport()));
- face.expressInterest(Name("/ndn/ucla.edu/apps/ndn-js-test/hello.txt/level2/%FD%05%0B%16%7D%95%0E"), closure);
+ face.expressInterest(Name("/ndn/ucla.edu/apps/ndn-js-test/hello.txt/level2/%FD%05%0B%16%7D%95%0E"), &closure);
// Pump the receive process. This should really be done by a socket listener.
- while (!closure->gotContent_)
+ while (!closure.gotContent_)
face.getTransport()->tempReceive();
} catch (std::exception &e) {
cout << "exception: " << e.what() << endl;