posix: signal: check RTSIG limit
Use build assert to make sure that the realtime signal constants are configured properly in the Kconfig. Signed-off-by: Yong Cong Sin <ycsin@meta.com>
This commit is contained in:
parent
5970543999
commit
43c549305b
@ -44,6 +44,7 @@ source "lib/posix/Kconfig.fnmatch"
|
||||
source "lib/posix/Kconfig.fs"
|
||||
source "lib/posix/Kconfig.getopt"
|
||||
source "lib/posix/Kconfig.key"
|
||||
source "lib/posix/Kconfig.limits"
|
||||
source "lib/posix/Kconfig.mqueue"
|
||||
source "lib/posix/Kconfig.mutex"
|
||||
source "lib/posix/Kconfig.pthread"
|
||||
|
||||
13
lib/posix/Kconfig.limits
Normal file
13
lib/posix/Kconfig.limits
Normal file
@ -0,0 +1,13 @@
|
||||
# Copyright (c) 2023 Meta
|
||||
#
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
if POSIX_SIGNAL
|
||||
config POSIX_LIMITS_RTSIG_MAX
|
||||
int "_POSIX_RTSIG_MAX value in limits.h"
|
||||
default 8
|
||||
help
|
||||
Define the _POSIX_RTSIG_MAX value in limits.h.
|
||||
IEEE 1003.1 defines this to be 8.
|
||||
|
||||
endif
|
||||
@ -13,6 +13,9 @@
|
||||
#define SIGNO_WORD_IDX(_signo) (signo / BITS_PER_LONG)
|
||||
#define SIGNO_WORD_BIT(_signo) (signo & BIT_MASK(LOG2(BITS_PER_LONG)))
|
||||
|
||||
BUILD_ASSERT(CONFIG_POSIX_LIMITS_RTSIG_MAX >= 0);
|
||||
BUILD_ASSERT(CONFIG_POSIX_RTSIG_MAX >= CONFIG_POSIX_LIMITS_RTSIG_MAX);
|
||||
|
||||
static inline bool signo_valid(int signo)
|
||||
{
|
||||
return ((signo > 0) && (signo < _NSIG));
|
||||
|
||||
Loading…
Reference in New Issue
Block a user