add location details to apr status logging
parent
d49786eb02
commit
9260fbe0bd
|
|
@ -291,35 +291,18 @@ void LLScopedLock::unlock()
|
|||
|
||||
//---------------------------------------------------------------------
|
||||
|
||||
bool ll_apr_warn_status(apr_status_t status)
|
||||
bool _ll_apr_warn_status(apr_status_t status, const char* file, int line)
|
||||
{
|
||||
if(APR_SUCCESS == status) return false;
|
||||
char buf[MAX_STRING]; /* Flawfinder: ignore */
|
||||
apr_strerror(status, buf, sizeof(buf));
|
||||
LL_WARNS("APR") << "APR: " << buf << LL_ENDL;
|
||||
LL_WARNS("APR") << "APR: " << file << ":" << line << " " << buf << LL_ENDL;
|
||||
return true;
|
||||
}
|
||||
|
||||
bool ll_apr_warn_status(apr_status_t status, apr_dso_handle_t *handle)
|
||||
void _ll_apr_assert_status(apr_status_t status, const char* file, int line)
|
||||
{
|
||||
bool result = ll_apr_warn_status(status);
|
||||
// Despite observed truncation of actual Mac dylib load errors, increasing
|
||||
// this buffer to more than MAX_STRING doesn't help: it appears that APR
|
||||
// stores the output in a fixed 255-character internal buffer. (*sigh*)
|
||||
char buf[MAX_STRING]; /* Flawfinder: ignore */
|
||||
apr_dso_error(handle, buf, sizeof(buf));
|
||||
LL_WARNS("APR") << "APR: " << buf << LL_ENDL;
|
||||
return result;
|
||||
}
|
||||
|
||||
void ll_apr_assert_status(apr_status_t status)
|
||||
{
|
||||
llassert(! ll_apr_warn_status(status));
|
||||
}
|
||||
|
||||
void ll_apr_assert_status(apr_status_t status, apr_dso_handle_t *handle)
|
||||
{
|
||||
llassert(! ll_apr_warn_status(status, handle));
|
||||
llassert(! _ll_apr_warn_status(status, file, line));
|
||||
}
|
||||
|
||||
//---------------------------------------------------------------------
|
||||
|
|
|
|||
|
|
@ -52,12 +52,11 @@ struct apr_dso_handle_t;
|
|||
* APR_SUCCESS.
|
||||
* @return Returns <code>true</code> if status is an error condition.
|
||||
*/
|
||||
bool LL_COMMON_API ll_apr_warn_status(apr_status_t status);
|
||||
/// There's a whole other APR error-message function if you pass a DSO handle.
|
||||
bool LL_COMMON_API ll_apr_warn_status(apr_status_t status, apr_dso_handle_t* handle);
|
||||
#define ll_apr_warn_status(status) _ll_apr_warn_status(status, __FILE__, __LINE__)
|
||||
bool LL_COMMON_API _ll_apr_warn_status(apr_status_t status, const char* file, int line);
|
||||
|
||||
void LL_COMMON_API ll_apr_assert_status(apr_status_t status);
|
||||
void LL_COMMON_API ll_apr_assert_status(apr_status_t status, apr_dso_handle_t* handle);
|
||||
#define ll_apr_assert_status(status) _ll_apr_assert_status(status, __FILE__, __LINE__)
|
||||
void LL_COMMON_API _ll_apr_assert_status(apr_status_t status, const char* file, int line);
|
||||
|
||||
extern "C" LL_COMMON_API apr_pool_t* gAPRPoolp; // Global APR memory pool
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue