[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH gnumach 2/2] ipc: guard test code with `MACH_IPC_TEST'
From: |
Samuel Thibault |
Subject: |
Re: [PATCH gnumach 2/2] ipc: guard test code with `MACH_IPC_TEST' |
Date: |
Tue, 16 Dec 2014 17:04:15 +0100 |
User-agent: |
Mutt/1.5.21+34 (58baf7c9f32f) (2010-12-30) |
Ack.
Justus Winter, le Tue 16 Dec 2014 15:09:47 +0100, a écrit :
> * ipc/ipc_kmsg.h (ikm_mark_bogus): New macro.
> (ipc_kmsg_rmqueue_first_macro): Use `ikm_mark_bogus'.
> * ipc/ipc_kmsg.c (ipc_kmsg_rmqueue): Likewise.
> ---
> ipc/ipc_kmsg.c | 4 +---
> ipc/ipc_kmsg.h | 19 +++++++++++++++----
> 2 files changed, 16 insertions(+), 7 deletions(-)
>
> diff --git a/ipc/ipc_kmsg.c b/ipc/ipc_kmsg.c
> index 71a0d74..66643fd 100644
> --- a/ipc/ipc_kmsg.c
> +++ b/ipc/ipc_kmsg.c
> @@ -139,9 +139,7 @@ ipc_kmsg_rmqueue(
> next->ikm_prev = prev;
> prev->ikm_next = next;
> }
> - /* XXX Temporary debug logic */
> - kmsg->ikm_next = IKM_BOGUS;
> - kmsg->ikm_prev = IKM_BOGUS;
> + ikm_mark_bogus (kmsg);
> }
>
> /*
> diff --git a/ipc/ipc_kmsg.h b/ipc/ipc_kmsg.h
> index f06857a..620785b 100644
> --- a/ipc/ipc_kmsg.h
> +++ b/ipc/ipc_kmsg.h
> @@ -72,11 +72,24 @@ typedef struct ipc_kmsg {
> #define ikm_plus_overhead(size) ((vm_size_t)((size) + IKM_OVERHEAD))
> #define ikm_less_overhead(size) ((mach_msg_size_t)((size) -
> IKM_OVERHEAD))
>
> +#if MACH_IPC_TEST
> /*
> - * XXX For debugging.
> + * For debugging.
> */
> #define IKM_BOGUS ((ipc_kmsg_t) 0xffffff10)
>
> +#define ikm_mark_bogus(kmsg)
> \
> +MACRO_BEGIN \
> + (kmsg)->ikm_next = IKM_BOGUS; \
> + (kmsg)->ikm_prev = IKM_BOGUS; \
> +MACRO_END
> +
> +#else /* MACH_IPC_TEST */
> +
> +#define ikm_mark_bogus(kmsg) ;
> +
> +#endif /* MACH_IPC_TEST */
> +
> /*
> * We keep a per-processor cache of kernel message buffers.
> * The cache saves the overhead/locking of using kalloc/kfree.
> @@ -198,9 +211,7 @@ MACRO_BEGIN
> \
> _next->ikm_prev = _prev; \
> _prev->ikm_next = _next; \
> } \
> - /* XXX Debug paranoia */ \
> - kmsg->ikm_next = IKM_BOGUS; \
> - kmsg->ikm_prev = IKM_BOGUS; \
> + ikm_mark_bogus (kmsg); \
> MACRO_END
>
> #define ipc_kmsg_enqueue_macro(queue, kmsg)
> \
> --
> 2.1.3
>
--
Samuel
The nice thing about Windows is - It does not just crash, it displays a
dialog box and lets you press 'OK' first.
(Arno Schaefer's .sig)