Author: kpvdr
Date: 2008-10-02 11:07:59 -0400 (Thu, 02 Oct 2008)
New Revision: 2578
Modified:
store/trunk/cpp/lib/jrnl/jcntl.cpp
store/trunk/cpp/lib/jrnl/rfc.cpp
store/trunk/cpp/lib/jrnl/rfc.hpp
store/trunk/cpp/lib/jrnl/rrfc.cpp
store/trunk/cpp/lib/jrnl/rrfc.hpp
Log:
Bugfix for intermittent RHEL4 segfault in test _st_read.increasing_interval_delayed_read;
also removed unnecessary virtual declarators in class rfc for functions that are not
subclassed.
Modified: store/trunk/cpp/lib/jrnl/jcntl.cpp
===================================================================
--- store/trunk/cpp/lib/jrnl/jcntl.cpp 2008-10-02 14:36:02 UTC (rev 2577)
+++ store/trunk/cpp/lib/jrnl/jcntl.cpp 2008-10-02 15:07:59 UTC (rev 2578)
@@ -419,7 +419,7 @@
_stop_flag = true;
if (!_readonly_flag)
flush(block_till_aio_cmpl);
- _rrfc.reset();
+ _rrfc.finalize();
}
u_int16_t
@@ -567,7 +567,7 @@
}
::usleep(AIO_CMPL_SLEEP);
}
- _wrfc.reset();
+ _wrfc.wr_reset();
resout = RHM_IORES_SUCCESS;
data_tok::write_state ws = dtp->wstate();
return ws == data_tok::ENQ_PART || ws == data_tok::DEQ_PART || ws ==
data_tok::ABORT_PART ||
Modified: store/trunk/cpp/lib/jrnl/rfc.cpp
===================================================================
--- store/trunk/cpp/lib/jrnl/rfc.cpp 2008-10-02 14:36:02 UTC (rev 2577)
+++ store/trunk/cpp/lib/jrnl/rfc.cpp 2008-10-02 15:07:59 UTC (rev 2578)
@@ -51,7 +51,7 @@
}
void
-rfc::reset()
+rfc::finalize()
{
unset_findex();
_nfiles = 0;
Modified: store/trunk/cpp/lib/jrnl/rfc.hpp
===================================================================
--- store/trunk/cpp/lib/jrnl/rfc.hpp 2008-10-02 14:36:02 UTC (rev 2577)
+++ store/trunk/cpp/lib/jrnl/rfc.hpp 2008-10-02 15:07:59 UTC (rev 2578)
@@ -63,11 +63,11 @@
* | +-->+===+ --+ _curr_fc == 0
* | | |
* | | |
- * | reset() initialize()
+ * | finalize() initialize()
* | | |
* | | |
* | +-- +===+<--+ _nfiles > 0
- * reset() | | Inactive: _fc_arr != 0 T F
+ * finalize() | | Inactive: _fc_arr != 0 T F
* | +-->+===+ --+ _curr_fc == 0
* | | |
* | | |
@@ -114,7 +114,7 @@
* \brief Reset the controller to Uninitialized state, usually called when the
journal is stopped. Once called,
* initialize() must be called to reuse an instance.
*/
- virtual void reset();
+ virtual void finalize();
/**
* /brief Check initialization state: true = Not Uninitialized, ie Initialized or
Active; false = Uninitialized.
@@ -165,13 +165,13 @@
// Convenience access methods to current file controller
// Note: Do not call when not in active state
- virtual inline u_int32_t enqcnt() const { return _curr_fc->enqcnt(); }
- virtual inline u_int32_t incr_enqcnt() { return _curr_fc->incr_enqcnt(); }
- virtual inline u_int32_t incr_enqcnt(u_int16_t fid) { return
_fc_arr[fid]->incr_enqcnt(); }
- virtual inline u_int32_t add_enqcnt(u_int32_t a) { return
_curr_fc->add_enqcnt(a); }
- virtual inline u_int32_t add_enqcnt(u_int16_t fid, u_int32_t a) { return
_fc_arr[fid]->add_enqcnt(a); }
- virtual inline u_int32_t decr_enqcnt(u_int16_t fid) { return
_fc_arr[fid]->decr_enqcnt(); }
- virtual inline u_int32_t subtr_enqcnt(u_int16_t fid, u_int32_t s) { return
_fc_arr[fid]->subtr_enqcnt(s); }
+ inline u_int32_t enqcnt() const { return _curr_fc->enqcnt(); }
+ inline u_int32_t incr_enqcnt() { return _curr_fc->incr_enqcnt(); }
+ inline u_int32_t incr_enqcnt(u_int16_t fid) { return
_fc_arr[fid]->incr_enqcnt(); }
+ inline u_int32_t add_enqcnt(u_int32_t a) { return _curr_fc->add_enqcnt(a); }
+ inline u_int32_t add_enqcnt(u_int16_t fid, u_int32_t a) { return
_fc_arr[fid]->add_enqcnt(a); }
+ inline u_int32_t decr_enqcnt(u_int16_t fid) { return
_fc_arr[fid]->decr_enqcnt(); }
+ inline u_int32_t subtr_enqcnt(u_int16_t fid, u_int32_t s) { return
_fc_arr[fid]->subtr_enqcnt(s); }
virtual inline u_int32_t subm_cnt_dblks() const = 0;
virtual inline std::size_t subm_offs() const = 0;
Modified: store/trunk/cpp/lib/jrnl/rrfc.cpp
===================================================================
--- store/trunk/cpp/lib/jrnl/rrfc.cpp 2008-10-02 14:36:02 UTC (rev 2577)
+++ store/trunk/cpp/lib/jrnl/rrfc.cpp 2008-10-02 15:07:59 UTC (rev 2578)
@@ -57,10 +57,10 @@
}
void
-rrfc::reset()
+rrfc::finalize()
{
unset_findex();
- rfc::reset();
+ rfc::finalize();
}
void
Modified: store/trunk/cpp/lib/jrnl/rrfc.hpp
===================================================================
--- store/trunk/cpp/lib/jrnl/rrfc.hpp 2008-10-02 14:36:02 UTC (rev 2577)
+++ store/trunk/cpp/lib/jrnl/rrfc.hpp 2008-10-02 15:07:59 UTC (rev 2578)
@@ -65,11 +65,11 @@
* | +-->+===+ --+ _curr_fc == 0
* | | | _fh == -1
* | | |
- * | reset() initialize()
+ * | finalize() initialize()
* | | |
* | | |
* | +-- +===+<--+ _nfiles > 0
- * reset() | | Inactive: _fc_arr != 0 T F
+ * finalize() | | Inactive: _fc_arr != 0 T F
* | +-->+===+ --+ _curr_fc == 0
* | | | _fh == -1
* | | |
@@ -110,7 +110,7 @@
* \brief Reset the controller to Uninitialized state, usually called when the
journal is stopped. Once called,
* initialize() must be called to reuse an instance.
*/
- void reset();
+ void finalize();
/**
* /brief Opens the file handle for reading a particular fid. Moves to state
open.
Show replies by date