28 #ifndef UNIV_HOTBACKUP
32 #if defined(__GNUC__) && (__GNUC__ > 2)
50 fprintf(stderr,
" InnoDB: Assertion failure in file %s line %lu\n",
54 " InnoDB: Assertion failure in thread %lu"
55 " in file %s line %lu\n",
61 "InnoDB: Failing assertion: %s\n", expr);
64 fputs(
"InnoDB: We intentionally generate a memory trap.\n"
65 "InnoDB: Submit a detailed bug report"
66 " to http://bugs.mysql.com.\n"
67 "InnoDB: If you get repeated assertion failures"
69 "InnoDB: immediately after the mysqld startup, there may be\n"
70 "InnoDB: corruption in the InnoDB tablespace. Please refer to\n"
71 "InnoDB: " REFMAN
"forcing-innodb-recovery.html\n"
72 "InnoDB: about forcing recovery.\n", stderr);
75 #ifdef UNIV_COMPILE_TEST_FUNCS
77 #include <sys/types.h>
79 #include <sys/resource.h>
84 #define timersub(a, b, r) \
86 (r)->tv_sec = (a)->tv_sec - (b)->tv_sec; \
87 (r)->tv_usec = (a)->tv_usec - (b)->tv_usec; \
88 if ((r)->tv_usec < 0) { \
90 (r)->tv_usec += 1000000; \
103 gettimeofday(&speedo->tv, NULL);
105 getrusage(RUSAGE_SELF, &speedo->ru);
115 const speedo_t* speedo)
121 getrusage(RUSAGE_SELF, &ru_now);
123 gettimeofday(&tv_now, NULL);
125 #define PRINT_TIMEVAL(prefix, tvp) \
126 fprintf(stderr, "%s% 5ld.%06ld sec\n", \
127 prefix, (tvp)->tv_sec, (tvp)->tv_usec)
129 timersub(&tv_now, &speedo->tv, &tv_diff);
130 PRINT_TIMEVAL(
"real", &tv_diff);
132 timersub(&ru_now.ru_utime, &speedo->ru.ru_utime, &tv_diff);
133 PRINT_TIMEVAL(
"user", &tv_diff);
135 timersub(&ru_now.ru_stime, &speedo->ru.ru_stime, &tv_diff);
136 PRINT_TIMEVAL(
"sys ", &tv_diff);