(BTW we were probably slowing down the regex code by defining DEBUG.)
void log_fork(void);
void log_switch(void);
void log_fork(void);
void log_switch(void);
void assert_failed(char *assertion, char *file, int line) NONRET;
#define ASSERT(x) do { if (unlikely(!(x))) assert_failed(#x, __FILE__, __LINE__); } while(0)
#else
void assert_failed(char *assertion, char *file, int line) NONRET;
#define ASSERT(x) do { if (unlikely(!(x))) assert_failed(#x, __FILE__, __LINE__); } while(0)
#else
void
assert_failed(char *assertion, char *file, int line)
{
void
assert_failed(char *assertion, char *file, int line)
{
log(L_DEBUG, "### Main loop status on %d", (int)now);
log(L_DEBUG, "\tActive timers:");
struct main_timer *tm;
log(L_DEBUG, "### Main loop status on %d", (int)now);
log(L_DEBUG, "\tActive timers:");
struct main_timer *tm;