return real_size_;
}
+void Request::ref(){
+ refcount_++;
+}
+
void Request::unref(MPI_Request* request)
{
if((*request) != MPI_REQUEST_NULL){
xbt_assert(action_ == nullptr, "Cannot (re-)start unfinished communication");
flags_ &= ~MPI_REQ_PREPARED;
flags_ &= ~MPI_REQ_FINISHED;
- refcount_++;
+ this->ref();
if ((flags_ & MPI_REQ_RECV) != 0) {
this->print_request("New recv");
void *oldbuf = nullptr;
detached_ = 1;
XBT_DEBUG("Send request %p is detached", this);
- refcount_++;
+ this->ref();
if (not(old_type_->flags() & DT_FLAG_DERIVED)) {
oldbuf = buf_;
if (not process->replaying() && oldbuf != nullptr && size_ != 0) {
- if ((smpi_privatize_global_variables != SmpiPrivStrategies::None) &&
+ if ((smpi_privatize_global_variables != SmpiPrivStrategies::NONE) &&
(static_cast<char*>(buf_) >= smpi_data_exe_start) &&
(static_cast<char*>(buf_) < smpi_data_exe_start + smpi_data_exe_size)) {
XBT_DEBUG("Privatization : We are sending from a zone inside global memory. Switch data segment ");
if (((req->flags_ & MPI_REQ_ACCUMULATE) != 0) ||
(datatype->flags() & DT_FLAG_DERIVED)) { // && (not smpi_is_shared(req->old_buf_))){
- if (not smpi_process()->replaying() && smpi_privatize_global_variables != SmpiPrivStrategies::None &&
+ if (not smpi_process()->replaying() && smpi_privatize_global_variables != SmpiPrivStrategies::NONE &&
static_cast<char*>(req->old_buf_) >= smpi_data_exe_start &&
static_cast<char*>(req->old_buf_) < smpi_data_exe_start + smpi_data_exe_size) {
XBT_VERB("Privatization : We are unserializing to a zone in global memory Switch data segment ");