Author: kpvdr
Date: 2008-11-11 08:13:11 -0500 (Tue, 11 Nov 2008)
New Revision: 2782
Modified:
store/trunk/cpp/lib/jrnl/fcntl.cpp
Log:
Improved exception messages for class fcntl which reflect instance fid and lid.
Modified: store/trunk/cpp/lib/jrnl/fcntl.cpp
===================================================================
--- store/trunk/cpp/lib/jrnl/fcntl.cpp 2008-11-11 13:10:29 UTC (rev 2781)
+++ store/trunk/cpp/lib/jrnl/fcntl.cpp 2008-11-11 13:13:11 UTC (rev 2782)
@@ -121,7 +121,7 @@
if (_wr_fh < 0)
{
std::ostringstream oss;
- oss << "file=\"" << _fname <<
"\"" << FORMAT_SYSERR(errno);
+ oss << "fid=" << _fid << " lid="
<< _lid << " file=\"" << _fname <<
"\"" << FORMAT_SYSERR(errno);
throw jexception(jerrno::JERR_FCNTL_OPENWR, oss.str(), "fcntl",
"open_fh");
}
}
@@ -149,7 +149,11 @@
fcntl::decr_enqcnt()
{
if (_rec_enqcnt == 0)
- throw jexception(jerrno::JERR__UNDERFLOW, "fcntl",
"decr_enqcnt");
+ {
+ std::ostringstream oss;
+ oss << "fid=" << _fid << " lid=" <<
_lid;
+ throw jexception(jerrno::JERR__UNDERFLOW, oss.str(), "fcntl",
"decr_enqcnt");
+ }
return --_rec_enqcnt;
}
@@ -159,7 +163,7 @@
if (_rec_enqcnt < s)
{
std::ostringstream oss;
- oss << "_rec_enqcnt=" << _rec_enqcnt << "
decr=" << s;
+ oss << "fid=" << _fid << " lid=" <<
_lid << " rec_enqcnt=" << _rec_enqcnt << " decr="
<< s;
throw jexception(jerrno::JERR__UNDERFLOW, oss.str(), "fcntl",
"subtr_enqcnt");
}
_rec_enqcnt -= s;
@@ -172,8 +176,8 @@
if (_rd_subm_cnt_dblks + a > _wr_subm_cnt_dblks)
{
std::ostringstream oss;
- oss << "_rd_subm_cnt_dblks=" << _rd_subm_cnt_dblks <<
" incr=" << a;
- oss << " _wr_subm_cnt_dblks=" << _wr_subm_cnt_dblks;
+ oss << "fid=" << _fid << " lid=" <<
_lid << " rd_subm_cnt_dblks=" << _rd_subm_cnt_dblks << "
incr=" << a;
+ oss << " wr_subm_cnt_dblks=" << _wr_subm_cnt_dblks;
throw jexception(jerrno::JERR_FCNTL_RDOFFSOVFL, oss.str(), "fcntl",
"add_rd_subm_cnt_dblks");
}
_rd_subm_cnt_dblks += a;
@@ -186,10 +190,9 @@
if (_rd_cmpl_cnt_dblks + a > _rd_subm_cnt_dblks)
{
std::ostringstream oss;
- oss << "_rd_cmpl_cnt_dblks=" << _rd_cmpl_cnt_dblks <<
" incr=" << a;
- oss << " _rd_subm_cnt_dblks=" << _rd_subm_cnt_dblks;
- throw jexception(jerrno::JERR_FCNTL_CMPLOFFSOVFL, oss.str(), "fcntl",
- "add_rd_cmpl_cnt_dblks");
+ oss << "fid=" << _fid << " lid=" <<
_lid << " rd_cmpl_cnt_dblks=" << _rd_cmpl_cnt_dblks << "
incr=" << a;
+ oss << " rd_subm_cnt_dblks=" << _rd_subm_cnt_dblks;
+ throw jexception(jerrno::JERR_FCNTL_CMPLOFFSOVFL, oss.str(), "fcntl",
"add_rd_cmpl_cnt_dblks");
}
_rd_cmpl_cnt_dblks += a;
return _rd_cmpl_cnt_dblks;
@@ -201,10 +204,9 @@
if (_wr_subm_cnt_dblks + a > _ffull_dblks) // Allow for file header
{
std::ostringstream oss;
- oss << "_wr_subm_cnt_dblks=" << _wr_subm_cnt_dblks <<
" incr=" << a;
+ oss << "fid=" << _fid << " lid=" <<
_lid << " wr_subm_cnt_dblks=" << _wr_subm_cnt_dblks << "
incr=" << a;
oss << " fsize=" << _ffull_dblks << "
dblks";
- throw jexception(jerrno::JERR_FCNTL_FILEOFFSOVFL, oss.str(), "fcntl",
- "add_wr_subm_cnt_dblks");
+ throw jexception(jerrno::JERR_FCNTL_FILEOFFSOVFL, oss.str(), "fcntl",
"add_wr_subm_cnt_dblks");
}
_wr_subm_cnt_dblks += a;
return _wr_subm_cnt_dblks;
@@ -216,10 +218,9 @@
if (_wr_cmpl_cnt_dblks + a > _wr_subm_cnt_dblks)
{
std::ostringstream oss;
- oss << "_wr_cmpl_cnt_dblks=" << _wr_cmpl_cnt_dblks <<
" incr=" << a;
- oss << " _wr_subm_cnt_dblks=" << _wr_subm_cnt_dblks;
- throw jexception(jerrno::JERR_FCNTL_CMPLOFFSOVFL, oss.str(), "fcntl",
- "add_wr_cmpl_cnt_dblks");
+ oss << "fid=" << _fid << " lid=" <<
_lid << " wr_cmpl_cnt_dblks=" << _wr_cmpl_cnt_dblks << "
incr=" << a;
+ oss << " wr_subm_cnt_dblks=" << _wr_subm_cnt_dblks;
+ throw jexception(jerrno::JERR_FCNTL_CMPLOFFSOVFL, oss.str(), "fcntl",
"add_wr_cmpl_cnt_dblks");
}
_wr_cmpl_cnt_dblks += a;
return _wr_cmpl_cnt_dblks;
@@ -229,8 +230,11 @@
fcntl::decr_aio_cnt()
{
if(_aio_cnt == 0)
- throw jexception(jerrno::JERR__UNDERFLOW, "Decremented _aio_cnt when already
zero", "fcntl",
- "decr_aio_cnt");
+ {
+ std::ostringstream oss;
+ oss << "fid=" << _fid << " lid=" <<
_lid << " Decremented aio_cnt to below zero";
+ throw jexception(jerrno::JERR__UNDERFLOW, oss.str(), "fcntl",
"decr_aio_cnt");
+ }
return --_aio_cnt;
}