未验证 提交 225f1af2 编写于 作者: G Galaxy1458 提交者: GitHub

Fix_Linux_[-Wterminate]warning (#52186)

上级 5208e2d6
......@@ -44,10 +44,13 @@ class GPUContextAllocation : public Allocation {
underlying_allocation_(std::move(allocation)) {}
~GPUContextAllocation() {
PADDLE_ENFORCE_NOT_NULL(
dev_ctx_,
platform::errors::PreconditionNotMet(
"Device context is not set for GPUContextAllocation"));
try {
PADDLE_ENFORCE_NOT_NULL(
dev_ctx_,
platform::errors::PreconditionNotMet(
"Device context is not set for GPUContextAllocation"));
} catch (std::exception &e) {
}
auto *p_allocation = underlying_allocation_.release();
VLOG(4) << "Adding callback to delete GPUContextAllocation at "
<< p_allocation;
......@@ -86,13 +89,17 @@ class GPUContextAllocator : public Allocator {
}
~GPUContextAllocator() {
if (event_) {
platform::CUDADeviceGuard guard(place_.device);
try {
if (event_) {
platform::CUDADeviceGuard guard(place_.device);
#ifdef PADDLE_WITH_HIP
PADDLE_ENFORCE_GPU_SUCCESS(hipEventDestroy(event_));
PADDLE_ENFORCE_GPU_SUCCESS(hipEventDestroy(event_));
#else
PADDLE_ENFORCE_GPU_SUCCESS(cudaEventDestroy(event_));
PADDLE_ENFORCE_GPU_SUCCESS(cudaEventDestroy(event_));
#endif
}
} catch (std::exception &e) {
}
}
......
......@@ -216,19 +216,26 @@ void RefcountedMemoryMapAllocation::close() {
}
MemoryMapWriterAllocation::~MemoryMapWriterAllocation() {
PADDLE_ENFORCE_NE(
munmap(this->ptr(), this->size()),
-1,
platform::errors::Unavailable("could not unmap the shared memory file %s",
this->ipc_name()));
try {
PADDLE_ENFORCE_NE(
munmap(this->ptr(), this->size()),
-1,
platform::errors::Unavailable(
"could not unmap the shared memory file %s", this->ipc_name()));
} catch (std::exception &e) {
}
}
MemoryMapReaderAllocation::~MemoryMapReaderAllocation() {
PADDLE_ENFORCE_NE(
munmap(this->ptr(), this->size()),
-1,
platform::errors::Unavailable("could not unmap the shared memory file %s",
this->ipc_name()));
try {
PADDLE_ENFORCE_NE(
munmap(this->ptr(), this->size()),
-1,
platform::errors::Unavailable(
"could not unmap the shared memory file %s", this->ipc_name()));
} catch (std::exception &e) {
}
/* Here we do not pay attention to the result of shm_unlink,
because the memory mapped file may have been cleared due to the
MemoryMapFdSet::Clear() */
......
......@@ -24,6 +24,7 @@ namespace allocation {
TEST(MemoryMapAllocation, test_allocation_base) {
size_t data_size = 4UL * 1024;
// 1. allocate writer holader
auto mmap_writer_holder = AllocateMemoryMapWriterAllocation(data_size);
std::string ipc_name = mmap_writer_holder->ipc_name();
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册