Join GitHub today
GitHub is home to over 36 million developers working together to host and review code, manage projects, and build software together.Sign up
passing a future with launch::deferred in remote function call causes hang #1320
When I try to pass a future with a deferred launch into a call to a remote locality, the system hangs. I presume its because HPX passes futures to remote calls by waiting for the future to become available before making the function call, and because the launch is deferred and future::get is not called on the local end, the remote function is never called? It seems like the behavior should be to go ahead and call get() when the remote call is made on the local end, send the resulting data over the wire, and load it up as a make_ready_future on the remote end.
I have gotten around this problem for myself by writing a wrapper class for hpx::future that calls get() when the serialization save function is called and which makes a make_ready_future with the data when the serialization load function is called.