Skip to content

Commit

Permalink
When building a trivial request handler for C API interaction, export…
Browse files Browse the repository at this point in the history
… the nested C request address.
  • Loading branch information
aminiussi committed Oct 28, 2019
1 parent 3614030 commit a7379ac
Show file tree
Hide file tree
Showing 3 changed files with 10 additions and 9 deletions.
7 changes: 0 additions & 7 deletions include/boost/mpi/detail/request_handlers.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -530,13 +530,6 @@ class request::dynamic_handler : public request::handler {
MPI_Request m_requests[2];
};

inline
request request::make_trivial(MPI_Request const& r) {
trivial_handler *handler = new trivial_handler;
handler->m_request = r;
return request(handler);
}

template<typename T>
request request::make_serialized(communicator const& comm, int source, int tag, T& value) {
#if defined(BOOST_MPI_USE_IMPROBE)
Expand Down
5 changes: 3 additions & 2 deletions include/boost/mpi/request.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -39,9 +39,10 @@ class BOOST_MPI_DECL request
request();

/**
* Just make a request from a C API request.
* Just make a request from a C API request and provide its address
* for future assignement.
*/
static request make_trivial(MPI_Request const& r);
static request make_trivial(MPI_Request*& r);
/**
* Send a known number of primitive objects in one MPI request.
*/
Expand Down
7 changes: 7 additions & 0 deletions src/request.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,13 @@ request::preserve(boost::shared_ptr<void> d) {
}
request request::make_dynamic() { return request(new dynamic_handler()); }

request request::make_trivial(MPI_Request*& r) {
trivial_handler *handler = new trivial_handler;
r = &(handler->m_request);
return request(handler);
}


request
request::make_bottom_send(communicator const& comm, int dest, int tag, MPI_Datatype tp) {
trivial_handler* handler = new trivial_handler;
Expand Down

0 comments on commit a7379ac

Please sign in to comment.