Mercurial > gnulib
annotate lib/spawnattr_setschedpolicy.c @ 40186:8964917f9574
autoupdate
author | Karl Berry <karl@freefriends.org> |
---|---|
date | Mon, 18 Feb 2019 08:02:49 -0800 |
parents | b06060465f09 |
children |
rev | line source |
---|---|
40057
b06060465f09
maint: Run 'make update-copyright'
Paul Eggert <eggert@cs.ucla.edu>
parents:
19484
diff
changeset
|
1 /* Copyright (C) 2000, 2009-2019 Free Software Foundation, Inc. |
10519
ce4e63ed4597
New module 'posix_spawnattr_setschedpolicy'.
Bruno Haible <bruno@clisp.org>
parents:
diff
changeset
|
2 This file is part of the GNU C Library. |
ce4e63ed4597
New module 'posix_spawnattr_setschedpolicy'.
Bruno Haible <bruno@clisp.org>
parents:
diff
changeset
|
3 |
ce4e63ed4597
New module 'posix_spawnattr_setschedpolicy'.
Bruno Haible <bruno@clisp.org>
parents:
diff
changeset
|
4 This program is free software: you can redistribute it and/or modify |
ce4e63ed4597
New module 'posix_spawnattr_setschedpolicy'.
Bruno Haible <bruno@clisp.org>
parents:
diff
changeset
|
5 it under the terms of the GNU General Public License as published by |
ce4e63ed4597
New module 'posix_spawnattr_setschedpolicy'.
Bruno Haible <bruno@clisp.org>
parents:
diff
changeset
|
6 the Free Software Foundation; either version 3 of the License, or |
ce4e63ed4597
New module 'posix_spawnattr_setschedpolicy'.
Bruno Haible <bruno@clisp.org>
parents:
diff
changeset
|
7 (at your option) any later version. |
ce4e63ed4597
New module 'posix_spawnattr_setschedpolicy'.
Bruno Haible <bruno@clisp.org>
parents:
diff
changeset
|
8 |
ce4e63ed4597
New module 'posix_spawnattr_setschedpolicy'.
Bruno Haible <bruno@clisp.org>
parents:
diff
changeset
|
9 This program is distributed in the hope that it will be useful, |
ce4e63ed4597
New module 'posix_spawnattr_setschedpolicy'.
Bruno Haible <bruno@clisp.org>
parents:
diff
changeset
|
10 but WITHOUT ANY WARRANTY; without even the implied warranty of |
ce4e63ed4597
New module 'posix_spawnattr_setschedpolicy'.
Bruno Haible <bruno@clisp.org>
parents:
diff
changeset
|
11 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
ce4e63ed4597
New module 'posix_spawnattr_setschedpolicy'.
Bruno Haible <bruno@clisp.org>
parents:
diff
changeset
|
12 GNU General Public License for more details. |
ce4e63ed4597
New module 'posix_spawnattr_setschedpolicy'.
Bruno Haible <bruno@clisp.org>
parents:
diff
changeset
|
13 |
ce4e63ed4597
New module 'posix_spawnattr_setschedpolicy'.
Bruno Haible <bruno@clisp.org>
parents:
diff
changeset
|
14 You should have received a copy of the GNU General Public License |
19190 | 15 along with this program. If not, see <https://www.gnu.org/licenses/>. */ |
10519
ce4e63ed4597
New module 'posix_spawnattr_setschedpolicy'.
Bruno Haible <bruno@clisp.org>
parents:
diff
changeset
|
16 |
ce4e63ed4597
New module 'posix_spawnattr_setschedpolicy'.
Bruno Haible <bruno@clisp.org>
parents:
diff
changeset
|
17 #include <config.h> |
ce4e63ed4597
New module 'posix_spawnattr_setschedpolicy'.
Bruno Haible <bruno@clisp.org>
parents:
diff
changeset
|
18 |
ce4e63ed4597
New module 'posix_spawnattr_setschedpolicy'.
Bruno Haible <bruno@clisp.org>
parents:
diff
changeset
|
19 /* Specification. */ |
ce4e63ed4597
New module 'posix_spawnattr_setschedpolicy'.
Bruno Haible <bruno@clisp.org>
parents:
diff
changeset
|
20 #include <spawn.h> |
ce4e63ed4597
New module 'posix_spawnattr_setschedpolicy'.
Bruno Haible <bruno@clisp.org>
parents:
diff
changeset
|
21 |
ce4e63ed4597
New module 'posix_spawnattr_setschedpolicy'.
Bruno Haible <bruno@clisp.org>
parents:
diff
changeset
|
22 #include <errno.h> |
ce4e63ed4597
New module 'posix_spawnattr_setschedpolicy'.
Bruno Haible <bruno@clisp.org>
parents:
diff
changeset
|
23 |
ce4e63ed4597
New module 'posix_spawnattr_setschedpolicy'.
Bruno Haible <bruno@clisp.org>
parents:
diff
changeset
|
24 /* Store scheduling policy in the attribute structure. */ |
ce4e63ed4597
New module 'posix_spawnattr_setschedpolicy'.
Bruno Haible <bruno@clisp.org>
parents:
diff
changeset
|
25 int |
ce4e63ed4597
New module 'posix_spawnattr_setschedpolicy'.
Bruno Haible <bruno@clisp.org>
parents:
diff
changeset
|
26 posix_spawnattr_setschedpolicy (posix_spawnattr_t *attr, int schedpolicy) |
ce4e63ed4597
New module 'posix_spawnattr_setschedpolicy'.
Bruno Haible <bruno@clisp.org>
parents:
diff
changeset
|
27 { |
12918
1aed01763cec
Ensure posix_spawnattr_{get,set}sched{policy,param} are defined.
Bruno Haible <bruno@clisp.org>
parents:
12559
diff
changeset
|
28 /* Do nothing if POSIX_SPAWN_SETSCHEDULER is unsupported. */ |
1aed01763cec
Ensure posix_spawnattr_{get,set}sched{policy,param} are defined.
Bruno Haible <bruno@clisp.org>
parents:
12559
diff
changeset
|
29 #if POSIX_SPAWN_SETSCHEDULER != 0 |
10519
ce4e63ed4597
New module 'posix_spawnattr_setschedpolicy'.
Bruno Haible <bruno@clisp.org>
parents:
diff
changeset
|
30 if (schedpolicy != SCHED_OTHER && schedpolicy != SCHED_FIFO |
ce4e63ed4597
New module 'posix_spawnattr_setschedpolicy'.
Bruno Haible <bruno@clisp.org>
parents:
diff
changeset
|
31 && schedpolicy != SCHED_RR) |
ce4e63ed4597
New module 'posix_spawnattr_setschedpolicy'.
Bruno Haible <bruno@clisp.org>
parents:
diff
changeset
|
32 return EINVAL; |
ce4e63ed4597
New module 'posix_spawnattr_setschedpolicy'.
Bruno Haible <bruno@clisp.org>
parents:
diff
changeset
|
33 |
ce4e63ed4597
New module 'posix_spawnattr_setschedpolicy'.
Bruno Haible <bruno@clisp.org>
parents:
diff
changeset
|
34 /* Store the policy. */ |
ce4e63ed4597
New module 'posix_spawnattr_setschedpolicy'.
Bruno Haible <bruno@clisp.org>
parents:
diff
changeset
|
35 attr->_policy = schedpolicy; |
12918
1aed01763cec
Ensure posix_spawnattr_{get,set}sched{policy,param} are defined.
Bruno Haible <bruno@clisp.org>
parents:
12559
diff
changeset
|
36 #endif |
10519
ce4e63ed4597
New module 'posix_spawnattr_setschedpolicy'.
Bruno Haible <bruno@clisp.org>
parents:
diff
changeset
|
37 |
ce4e63ed4597
New module 'posix_spawnattr_setschedpolicy'.
Bruno Haible <bruno@clisp.org>
parents:
diff
changeset
|
38 return 0; |
ce4e63ed4597
New module 'posix_spawnattr_setschedpolicy'.
Bruno Haible <bruno@clisp.org>
parents:
diff
changeset
|
39 } |