Project

General

Profile

20150121_10425_fix_v1.patch

Radoslaw Zarzynski, 01/21/2015 12:04 PM

Download (1.06 KB)

View differences:

src/librados/RadosClient.cc
204 204
  if (err < 0)
205 205
    goto out;
206 206

  
207
  if (messenger) {
208
    delete messenger;
209
    messenger = NULL;
210
  }
211

  
207 212
  err = -ENOMEM;
208 213
  nonce = getpid() + (1000000 * (uint64_t)rados_instance.inc());
209 214
  messenger = Messenger::create(cct, cct->_conf->ms_type, entity_name_t::CLIENT(-1),
......
220 225

  
221 226
  ldout(cct, 1) << "starting objecter" << dendl;
222 227

  
228
  // dispose objecter in case of recalling connect() after failure.
229
  // the shutdown method guarantes that the object is in state suitable
230
  // for removal.
231
  if (objecter) {
232
    delete objecter;
233
    objecter = NULL;
234
  }
235

  
223 236
  err = -ENOMEM;
224
  objecter = new Objecter(cct, messenger, &monclient,
237
  objecter = new (std::nothrow) Objecter(cct, messenger, &monclient,
225 238
			  &finisher,
226 239
			  cct->_conf->rados_mon_op_timeout,
227 240
			  cct->_conf->rados_osd_op_timeout);