# Copyright (c) 2023 Intel Corporation
#
# SPDX-License-Identifier: Apache-2.0

menu "POSIX scheduler options"

config POSIX_PRIORITY_SCHEDULING
	bool "POSIX priority-based process scheduling [EXPERIMENTAL]"
	select EXPERIMENTAL
	help
	  This enables POSIX scheduling APIs (_POSIX_PRIORITY_SCHEDULING).

	  Since Zephyr does not yet support processes, most of this behaviour is undefined, except for
	  use of sched_get_priority_min() and sched_get_priority_max().

	  For more information, please see
	  https://pubs.opengroup.org/onlinepubs/9699919799/xrat/V4_port.html#tag_24_03_04
	  https://pubs.opengroup.org/onlinepubs/9699919799/functions/sched_get_priority_max.html

endmenu
