diff options
author | William Joye <wjoye@cfa.harvard.edu> | 2017-10-26 16:45:12 (GMT) |
---|---|---|
committer | William Joye <wjoye@cfa.harvard.edu> | 2017-10-26 16:45:12 (GMT) |
commit | 6054f36bb658916bd231b9002efb94444e2871c8 (patch) | |
tree | a815500ec9bf0e100f4075a825213605c382def0 /xlaunch.h | |
download | blt-6054f36bb658916bd231b9002efb94444e2871c8.zip blt-6054f36bb658916bd231b9002efb94444e2871c8.tar.gz blt-6054f36bb658916bd231b9002efb94444e2871c8.tar.bz2 |
Squashed 'xpa/' content from commit d6a54301
git-subtree-dir: xpa
git-subtree-split: d6a543018b46c5a6c47b5ff91e0e131549595ca6
Diffstat (limited to 'xlaunch.h')
-rw-r--r-- | xlaunch.h | 87 |
1 files changed, 87 insertions, 0 deletions
diff --git a/xlaunch.h b/xlaunch.h new file mode 100644 index 0000000..2c20cb8 --- /dev/null +++ b/xlaunch.h @@ -0,0 +1,87 @@ +/* + * Copyright (c) 1999-2003 Smithsonian Astrophysical Observatory + */ + +/* + * + * xlaunch.h -- declarations for launching a program + * + */ + +#ifndef __xlaunch_h +#define __xlaunch_h + +#if HAVE_CONFIG_H +#include <conf.h> +#endif + +#include <stdio.h> +#include <errno.h> +#include <signal.h> +#include <fcntl.h> +#include <sys/time.h> +#include <sys/stat.h> +#if HAVE_STRING_H +#include <string.h> +#endif +#if HAVE_STRINGS_H +#include <strings.h> +#endif +#if HAVE_MALLOC_H +#include <malloc.h> +#endif +#if HAVE_UNISTD_H +#include <unistd.h> +#endif +#if HAVE_POSIX_SPAWN +#include <spawn.h> +#endif +#include <xport.h> +#include <word.h> +#include <xalloc.h> +#include <prsetup.h> + +#define LAUNCH_ARGS 1024 + +#define LAUNCH_SPACE '\001' + +/* for fork/exec, one of these is required to specify the technique to be used + by the parent when determining if the child started successfully */ +#if !defined(LAUNCH_USE_PIPE) && !defined(LAUNCH_USE_WAITPID) +#define LAUNCH_USE_PIPE 1 +#endif +/* ... but not both */ +#if defined(LAUNCH_USE_PIPE) && defined(LAUNCH_USE_WAITPID) +#error "LAUNCH_USE_PIPE and LAUNCH_USE_WAITPID are mutually exclusive" +#endif + +#ifndef LAUNCH_WAIT_TRIES +#define LAUNCH_WAIT_TRIES 100 +#endif +#ifndef LAUNCH_WAIT_MSEC +#define LAUNCH_WAIT_MSEC 5000 +#endif + +#if HAVE_MINGW32|HAVE_CYGWIN +#define HAVE_SPAWNVP 1 +#endif + +#if HAVE_MINGW32 +/* for now, ensure that MinGW utilizes spawnvp() */ +#define LAUNCH_DEFAULT_WHICH 3 +#elif HAVE_POSIX_SPAWN +/* use posix_spawn if possible (required for OS X 10.5) */ +#define LAUNCH_DEFAULT_WHICH 2 +#else +/* use our home-grown version */ +#define LAUNCH_DEFAULT_WHICH 1 +#endif + +_PRbeg + +int Launch _PRx((char *cmdstring, int wait, char **stdfiles, int *pipes)); +pid_t LaunchPid _PRx((void)); + +_PRend + +#endif |