~ubuntu-branches/ubuntu/utopic/coreutils/utopic-proposed

« back to all changes in this revision

Viewing changes to gnulib-tests/test-spawn.c

  • Committer: Package Import Robot
  • Author(s): Colin Watson
  • Date: 2012-11-28 03:03:42 UTC
  • mfrom: (8.3.4 sid)
  • Revision ID: package-import@ubuntu.com-20121128030342-21zanj8354gas5gr
Tags: 8.20-3ubuntu1
* Resynchronise with Debian.  Remaining changes:
  - Make 'uname -i -p' return the real processor/hardware, instead of
    unknown.
  - Build-depend on gettext:any instead of on gettext, so that apt-get can
    properly resolve build-dependencies on the tool when cross-building.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
/* Test of <spawn.h> substitute.
 
2
   Copyright (C) 2009-2012 Free Software Foundation, Inc.
 
3
 
 
4
   This program is free software: you can redistribute it and/or modify
 
5
   it under the terms of the GNU General Public License as published by
 
6
   the Free Software Foundation; either version 3 of the License, or
 
7
   (at your option) any later version.
 
8
 
 
9
   This program is distributed in the hope that it will be useful,
 
10
   but WITHOUT ANY WARRANTY; without even the implied warranty of
 
11
   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 
12
   GNU General Public License for more details.
 
13
 
 
14
   You should have received a copy of the GNU General Public License
 
15
   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
16
 
 
17
/* Written by Eric Blake <ebb9@byu.net>, 2009.  */
 
18
 
 
19
#include <config.h>
 
20
 
 
21
#include <spawn.h>
 
22
 
 
23
/* Check for existence of required types.  */
 
24
struct check
 
25
{
 
26
  posix_spawnattr_t a;
 
27
  posix_spawn_file_actions_t b;
 
28
  mode_t c;
 
29
  pid_t d;
 
30
  sigset_t e;
 
31
} s;
 
32
 
 
33
/* struct sched_param is allowed to be an incomplete type without
 
34
   <sched.h>, but must have a forward declaration to avoid a
 
35
   compilation error in the following usage.  */
 
36
extern void f (struct sched_param *g);
 
37
#include <sched.h>
 
38
extern void f (struct sched_param *g);
 
39
 
 
40
int
 
41
main (void)
 
42
{
 
43
  switch (0)
 
44
    {
 
45
    case POSIX_SPAWN_RESETIDS:
 
46
    case POSIX_SPAWN_SETPGROUP:
 
47
    case POSIX_SPAWN_SETSIGDEF:
 
48
    case POSIX_SPAWN_SETSIGMASK:
 
49
    case (POSIX_SPAWN_SETSCHEDPARAM != 0 ? POSIX_SPAWN_SETSCHEDPARAM : -1):
 
50
    case (POSIX_SPAWN_SETSCHEDULER != 0 ? POSIX_SPAWN_SETSCHEDULER : -2):
 
51
      ;
 
52
    }
 
53
  return s.c + s.d;
 
54
}