From: degomme Date: Tue, 23 Apr 2019 12:50:37 +0000 (+0200) Subject: If size read is 0 (eof), don't initiate faulty comm which will crash. X-Git-Tag: v3.22.2~62 X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/commitdiff_plain/6d50895ca70f5e7bfe97c5dbaad4d506207e20fd If size read is 0 (eof), don't initiate faulty comm which will crash. --- diff --git a/src/plugins/file_system/s4u_FileSystem.cpp b/src/plugins/file_system/s4u_FileSystem.cpp index 517ad41e62..1c3d3c0372 100644 --- a/src/plugins/file_system/s4u_FileSystem.cpp +++ b/src/plugins/file_system/s4u_FileSystem.cpp @@ -102,7 +102,7 @@ sg_size_t File::read(sg_size_t size) sg_size_t read_size = local_storage_->read(std::min(size, size_ - current_position_)); current_position_ += read_size; - if (host->get_name() != Host::current()->get_name()) { + if (host->get_name() != Host::current()->get_name() && read_size > 0) { /* the file is hosted on a remote host, initiate a communication between src and dest hosts for data transfer */ XBT_DEBUG("File is on %s remote host, initiate data transfer of %llu bytes.", host->get_cname(), read_size); std::vector m_host_list = {Host::current(), host};