xref: /aosp_15_r20/external/musl/src/process/posix_spawnattr_setflags.c (revision c9945492fdd68bbe62686c5b452b4dc1be3f8453)
1*c9945492SAndroid Build Coastguard Worker #include <spawn.h>
2*c9945492SAndroid Build Coastguard Worker #include <errno.h>
3*c9945492SAndroid Build Coastguard Worker 
posix_spawnattr_setflags(posix_spawnattr_t * attr,short flags)4*c9945492SAndroid Build Coastguard Worker int posix_spawnattr_setflags(posix_spawnattr_t *attr, short flags)
5*c9945492SAndroid Build Coastguard Worker {
6*c9945492SAndroid Build Coastguard Worker 	const unsigned all_flags =
7*c9945492SAndroid Build Coastguard Worker 		POSIX_SPAWN_RESETIDS |
8*c9945492SAndroid Build Coastguard Worker 		POSIX_SPAWN_SETPGROUP |
9*c9945492SAndroid Build Coastguard Worker 		POSIX_SPAWN_SETSIGDEF |
10*c9945492SAndroid Build Coastguard Worker 		POSIX_SPAWN_SETSIGMASK |
11*c9945492SAndroid Build Coastguard Worker 		POSIX_SPAWN_SETSCHEDPARAM |
12*c9945492SAndroid Build Coastguard Worker 		POSIX_SPAWN_SETSCHEDULER |
13*c9945492SAndroid Build Coastguard Worker 		POSIX_SPAWN_USEVFORK |
14*c9945492SAndroid Build Coastguard Worker 		POSIX_SPAWN_SETSID;
15*c9945492SAndroid Build Coastguard Worker 	if (flags & ~all_flags) return EINVAL;
16*c9945492SAndroid Build Coastguard Worker 	attr->__flags = flags;
17*c9945492SAndroid Build Coastguard Worker 	return 0;
18*c9945492SAndroid Build Coastguard Worker }
19