diff options
author | Maria Matejka <mq@ucw.cz> | 2022-07-15 14:57:02 +0200 |
---|---|---|
committer | Maria Matejka <mq@ucw.cz> | 2022-07-15 14:57:02 +0200 |
commit | 05673b16a87792baf8734dfcbf12ac2fd867f80b (patch) | |
tree | 7dd306058ea07dc41ec22d5429e8d1a9a6e7793b /lib | |
parent | 1c2851ecfa94f3d0b732a267c6c2db8b817c37f4 (diff) | |
parent | c70b3198dc349127273d202ab8c36afeebb6d9d0 (diff) |
Merge commit 'c70b3198' into thread-next [lots of conflicts]
There were more conflicts that I'd like to see, most notably in route
export. If a bisect identifies this commit with something related, it
may be simply true that this commit introduces that bug. Let's hope it
doesn't happen.
Diffstat (limited to 'lib')
-rw-r--r-- | lib/birdlib.h | 7 | ||||
-rw-r--r-- | lib/resource.h | 1 | ||||
-rw-r--r-- | lib/slab.c | 2 |
3 files changed, 8 insertions, 2 deletions
diff --git a/lib/birdlib.h b/lib/birdlib.h index 9b6e4a16..25545fc3 100644 --- a/lib/birdlib.h +++ b/lib/birdlib.h @@ -178,8 +178,13 @@ void debug(const char *msg, ...); /* Printf to debug output */ #if defined(LOCAL_DEBUG) || defined(GLOBAL_DEBUG) #define DBG(x, y...) debug(x, ##y) +#define DBGL(x, y...) debug(x "\n", ##y) +#elif defined(DEBUG_TO_LOG) +#define DBG(...) do { } while (0) +#define DBGL(...) log(L_DEBUG __VA_ARGS__) #else -#define DBG(x, y...) do { } while(0) +#define DBG(...) do { } while(0) +#define DBGL(...) do { } while (0) #endif #define ASSERT_DIE(x) do { if (!(x)) bug("Assertion '%s' failed at %s:%d", #x, __FILE__, __LINE__); } while(0) diff --git a/lib/resource.h b/lib/resource.h index 4cedbf00..8bb264b1 100644 --- a/lib/resource.h +++ b/lib/resource.h @@ -115,6 +115,7 @@ void sl_free(void *); void buffer_realloc(void **buf, unsigned *size, unsigned need, unsigned item_size); /* Allocator of whole pages; for use in slabs and other high-level allocators. */ +#define PAGE_HEAD(x) ((void *) (((uintptr_t) (x)) & ~(page_size-1))) extern long page_size; void *alloc_page(void); void free_page(void *); @@ -197,7 +197,7 @@ static struct resclass sl_class = { slab_memsize }; -#define SL_GET_HEAD(x) ((struct sl_head *) (((uintptr_t) (x)) & ~(page_size-1))) +#define SL_GET_HEAD(x) PAGE_HEAD(x) #define SL_HEAD_CHANGE_STATE(_s, _h, _from, _to) ({ \ ASSERT_DIE(_h->state == slh_##_from); \ |