diff --git a/include/bx/process.h b/include/bx/process.h new file mode 100644 index 0000000..85893ab --- /dev/null +++ b/include/bx/process.h @@ -0,0 +1,36 @@ +/* + * Copyright 2010-2015 Branimir Karadzic. All rights reserved. + * License: http://www.opensource.org/licenses/BSD-2-Clause + */ + +#ifndef BX_PROCESS_H_HEADER_GUARD +#define BX_PROCESS_H_HEADER_GUARD + +#if BX_PLATFORM_LINUX +# include +#endif // BX_PLATFORM_LINUX + +namespace bx +{ + /// + inline void* exec(const char*const _argv[]) + { +#if BX_PLATFORM_LINUX + pid_t pid = fork(); + + if (0 == pid) + { + int result = execvp(_argv[0], const_cast(&_argv[1]) ); + BX_UNUSED(result); + return NULL; + } + + return (void*)uintptr_t(pid); +#else + return NULL; +#endif // BX_PLATFORM_LINUX + } + +} // namespace bx + +#endif // BX_PROCESS_H_HEADER_GUARD