@@ -30,31 +30,28 @@ UCS_TEST_SKIP_COND_P(uct_atomic_key_reg_rdma_mem_type, fadd64,
30
30
!check_atomics(UCS_BIT(UCT_ATOMIC_OP_ADD), FOP64) ||
31
31
!check_rdma_memory())
32
32
{
33
- mapped_buffer *recvbuf = nullptr ;
34
- const size_t buffer_size = sizeof ( uint64_t ) ;
35
- const size_t buffer_offset = 0 ;
36
- const bool may_fail = true ;
37
- const int num_retries = 5 ;
38
- const int sleep_usec = 10000 ;
33
+ size_t buffer_size = sizeof ( uint64_t ) ;
34
+ size_t buffer_offset = 0 ;
35
+ bool may_fail = true ;
36
+ int num_retries = 5 ;
37
+ int sleep_usec = 10000 ;
38
+ std::unique_ptr<mapped_buffer> recvbuf ;
39
39
40
- for (int i = 0 ; i < num_retries; ++i) {
40
+ for (int i = 0 ; ( i < num_retries) && ( nullptr == recvbuf. get ()) ; ++i) {
41
41
try {
42
- {
43
- scoped_log_handler slh (hide_errors_logger);
44
- recvbuf = new mapped_buffer (buffer_size, receiver (),
45
- buffer_offset, UCS_MEMORY_TYPE_RDMA,
46
- UCT_MD_MEM_ACCESS_ALL, may_fail);
47
- }
48
- break ;
49
- } catch (ucs::test_abort_exception& e) {
42
+ scoped_log_handler slh (hide_errors_logger);
43
+ recvbuf.reset (new mapped_buffer (
44
+ buffer_size, receiver (), buffer_offset,
45
+ UCS_MEMORY_TYPE_RDMA, UCT_MD_MEM_ACCESS_ALL, may_fail));
46
+ } catch (const ucs::test_abort_exception& e) {
50
47
UCS_TEST_MESSAGE << " Retry " << i + 1 << " /" << num_retries
51
48
<< " : Buffer allocation failed - " << e.what ();
52
49
usleep (sleep_usec);
53
50
}
51
+ }
54
52
55
- if (i == (num_retries - 1 )) {
56
- ADD_FAILURE () << " Failed to allocate buffer" ;
57
- }
53
+ if (nullptr == recvbuf.get ()) {
54
+ ADD_FAILURE () << " Failed to allocate buffer" ;
58
55
}
59
56
60
57
uint64_t add = rand64 ();
@@ -63,8 +60,6 @@ UCS_TEST_SKIP_COND_P(uct_atomic_key_reg_rdma_mem_type, fadd64,
63
60
&uct_amo_test::atomic_fop<uint64_t , UCT_ATOMIC_OP_ADD>),
64
61
*recvbuf, std::vector<uint64_t >(num_senders (), add), false );
65
62
wait_for_remote ();
66
-
67
- delete recvbuf;
68
63
}
69
64
70
65
UCT_INSTANTIATE_RC_DC_TEST_CASE (uct_atomic_key_reg_rdma_mem_type);
0 commit comments