From: Paul H. Hargrove (PHHargrove_at_lbl_dot_gov)
Date: Wed Jan 07 2009 - 11:58:08 PST
Karthik, I don't think you need to migrate to 0.8.x to get away from the cr_request_fd() interface, because cr_request_checkpoint() and cr_poll_checkpoint() were added in 0.6.0. You mention using cr_wait_checkpoint() and cr_reap_checkpoint(), which *are* new in 0.8.0. However, the cr_poll_checkpoint() function is approximately equivalent to: int err; err = cr_wait_checkpoint(handle, timeout); if (err < 0) return CR_POLL_CHKPT_ERR_PRE; else if (!err) return 0; // Not done err = cr_reap_checkpoint(handle); if (err < 0) return CR_POLL_CHKPT_ERR_POST; return 1; // Done So, I would suggest that you could replace your wait and reap calls with cr_poll_checkpoint() to work correctly for 0.6.0 through 0.8.x. I hope this helps. -Paul Karthik Gopalakrishnan wrote: > Hi Paul. > > My application that used BLCR 0.7.1 would request a checkpoint by > calling cr_request_fd() , and cr_checkpoint() in the Callback. Since, > cr_request_fd() will obsoleted in 0.8.0, I modified my code to call > cr_request_checkpoint() - cr_wait_checkpoint() - cr_reap_checkpoint(), > and cr_checkpoint() in the Callback. This scheme seems to work in > 0.8.0_b5. However, cr_wait_checkpoint() & cr_reap_checkpoint() are not > available in 0.7.1. This forces me to migrate to 0.8.0. I would like > to know if there is some implementation that would work on both 0.7.1 > and 0.8.0. > > Thanks & Regards, > Karthik > -- Paul H. Hargrove PHHargrove_at_lbl_dot_gov Future Technologies Group Tel: +1-510-495-2352 HPC Research Department Fax: +1-510-486-6900 Lawrence Berkeley National Laboratory