mirror of
https://github.com/edeproject/ede.git
synced 2023-08-10 21:13:03 +03:00
a80b5dcb2a
by gdb and debug it with nice dialog. Processes are now kept in list so pid/cmd can be easily tracked. Rest...
43 lines
1.5 KiB
C
43 lines
1.5 KiB
C
/*
|
|
* $Id$
|
|
*
|
|
* Evoke, head honcho of everything
|
|
* Part of Equinox Desktop Environment (EDE).
|
|
* Copyright (c) 2000-2007 EDE Authors.
|
|
*
|
|
* This program is licensed under terms of the
|
|
* GNU General Public License version 2 or newer.
|
|
* See COPYING for details.
|
|
*/
|
|
|
|
#ifndef __SPAWN_H__
|
|
#define __SPAWN_H__
|
|
|
|
#include <unistd.h> // pid_t
|
|
|
|
/*
|
|
* This is little bit modified code from edelib run_program()
|
|
* so evoke specific stuff can be added. Also, possible option
|
|
* is that edelib run_program(), at some time, consult evoke
|
|
* for running programs.
|
|
*/
|
|
#define SPAWN_NOT_FOUND 65535 // executable not found
|
|
#define SPAWN_EMPTY 65534 // given parameter is NULL
|
|
#define SPAWN_NOT_EXEC 65533 // given parameter is not executable on system
|
|
#define SPAWN_FORK_FAILED 65532 // internal fork failed
|
|
#define SPAWN_WAITPID_FAILED 65531 // internal waitpid failed
|
|
#define SPAWN_EXECVE_FAILED 65530 // internal execve failed
|
|
#define SPAWN_PTY_FAILED 65529 // TODO
|
|
#define SPAWN_USER_CANCELED 65528 // TODO
|
|
#define SPAWN_CRASHED 65527 // executable crashed
|
|
#define SPAWN_KILLED 65526 // executable crashed
|
|
#define SPAWN_NOEXITED 65525
|
|
|
|
typedef void (SignalWatch)(int pid, int status);
|
|
|
|
int spawn_program(const char* cmd, SignalWatch* wf = 0, pid_t* child_pid_ret = 0);
|
|
int spawn_program_with_core(const char* cmd, SignalWatch* wf = 0, pid_t* child_pid_ret = 0);
|
|
int spawn_backtrace(const char* program, const char* core_path, const char* output, const char* script);
|
|
|
|
#endif
|