#include "BackTrace.h"
+namespace ceph {
+
void BackTrace::print(std::ostream& out)
{
for (size_t i = skip; i < size; i++) {
}
};
+}
#include <execinfo.h>
#include <stdlib.h>
+namespace ceph {
+
struct BackTrace {
const static int max = 100;
void print(std::ostream& out);
};
+}
+
#endif
#define LOCKDEP
+using namespace ceph;
class Mutex {
private:
#include <pthread.h>
#include "include/assert.h"
+using namespace ceph;
+
//#define SPINLOCK_LOCKDEP
#ifdef SPINLOCK_LOCKDEP
#include "common/tls.h"
+namespace ceph {
+
void __ceph_assert_fail(const char *assertion, const char *file, int line, const char *func)
{
BackTrace *bt = new BackTrace(2);
{
*_dout << "WARNING: assert(" << assertion << ") at: " << file << ":" << line << ": " << func << "()" << std::endl;
}
+
+}
#ifdef __cplusplus
+namespace ceph {
+
class BackTrace;
struct FailedAssertion {
#define assert_disk(expr) assert(expr)
*/
+#ifdef __cplusplus
+}
+#endif
+
#endif