1/*
2 * Copyright (c) 2008 Apple Inc.  All Rights Reserved.
3 *
4 * @APPLE_OSREFERENCE_LICENSE_HEADER_START@
5 *
6 * This file contains Original Code and/or Modifications of Original Code
7 * as defined in and that are subject to the Apple Public Source License
8 * Version 2.0 (the 'License'). You may not use this file except in
9 * compliance with the License. The rights granted to you under the License
10 * may not be used to create, or enable the creation or redistribution of,
11 * unlawful or unlicensed copies of an Apple operating system, or to
12 * circumvent, violate, or enable the circumvention or violation of, any
13 * terms of an Apple operating system software license agreement.
14 *
15 * Please obtain a copy of the License at
16 * http://www.opensource.apple.com/apsl/ and read it before using this file.
17 *
18 * The Original Code and all software distributed under the License are
19 * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
20 * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
21 * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
22 * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
23 * Please see the License for the specific language governing rights and
24 * limitations under the License.
25 *
26 * @APPLE_OSREFERENCE_LICENSE_HEADER_END@
27 */
28
29
30#ifdef  __sun
31#pragma ident   "@(#)posix_spawn_bin.c  1.0     08/21/08 Apple Inc."
32#endif
33
34/*
35 * time program to recursively test posix_spawn time
36 */
37
38#include <unistd.h>
39#include <stdio.h>
40#include <stdlib.h>
41#include <string.h>
42#include <spawn.h>
43
44int
45main(int argc, char *argv[])
46{
47	int left;
48        int pid;
49
50	if (argc == 1) {
51		exit(1);
52	}
53
54	left = atoi(argv[1]);
55
56	left--;
57
58	if (left <= 0) {
59		exit(0);
60	} else {
61		char buffer[80];
62		(void) sprintf(buffer, "%d", left);
63		argv[1] = buffer;
64		if (posix_spawn(&pid, argv[0], NULL, NULL, argv, NULL)) {
65			exit(2);
66		}
67	}
68
69	return (0);
70}
71