On Mon, Jan 23, 2006 at 03:29:53PM -0500, Jim Jagielski wrote: > On Jan 22, 2006, at 10:42 PM, Colm MacCarthaigh wrote: > >I'll have much time for coding in the next few weeks. If anyone > >wants to > >work on execd stuff fire away, most of what I have uncommitted is a > >mash > >of things I have to clean up. > > Where is it?
There's an execd-dev branch, where there is very very little. The attached mod_exec.h should give an idea of the API I'm aiming for, but my environment died and I have a new datacentre to build, so it'll be a while before I recover from the mess! -- Colm MacCárthaigh Public Key: [EMAIL PROTECTED]
/* Copyright 1999-2006 The Apache Software Foundation or its licensors, as * applicable. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ /** * @file mod_exec.h * @brief Main include file for the Apache Execution Module * * @defgroup MOD_EXEC mod_exec * @ingroup APACHE_MODS * @{ */ #ifndef MOD_EXEC_H #define MOD_EXEC_H /* Create a set of EXEC_DECLARE(type), EXEC_DECLARE_NONSTD(type) and * EXEC_DECLARE_DATA with appropriate export and import tags for the platform */ #if !defined(WIN32) #define EXEC_DECLARE(type) type #define EXEC_DECLARE_NONSTD(type) type #define EXEC_DECLARE_DATA #elif defined(EXEC_DECLARE_STATIC) #define EXEC_DECLARE(type) type __stdcall #define EXEC_DECLARE_NONSTD(type) type #define EXEC_DECLARE_DATA #elif defined(EXEC_DECLARE_EXPORT) #define EXEC_DECLARE(type) __declspec(dllexport) type __stdcall #define EXEC_DECLARE_NONSTD(type) __declspec(dllexport) type #define EXEC_DECLARE_DATA __declspec(dllexport) #else #define EXEC_DECLARE(type) __declspec(dllimport) type __stdcall #define EXEC_DECLARE_NONSTD(type) __declspec(dllimport) type #define EXEC_DECLARE_DATA __declspec(dllimport) #endif /* XXX: temporary hack */ typedef ap_exec_handle_t apr_proc_t; /** * A near clone of apr_proc_create(). Create a new process and execute a new * program within that process. * @param new_proc The resulting process handle. * @param progname The program to run * @param args the arguments to pass to the new program. The first * one should be the program name. * @param env The new environment table for the new process. This * should be a list of NULL-terminated strings. This argument * is ignored for APR_PROGRAM_ENV, APR_PROGRAM_PATH, and * APR_SHELLCMD_ENV types of commands. * @param attr the procattr we should use to determine how to create the new * process * @note This function returns without waiting for the new process to terminate; * use apr_proc_wait for that. */ EXEC_DECLARE(apr_status_t) ap_exec_proc_create(apr_exec_handle_t *new_proc, const char *progname, const char * const *args, const char * const *env, apr_procattr_t *attr); /** * A clone of apr_proc_kill(), Terminate a process. * @param proc The process to terminate. * @param sig How to kill the process. */ EXEC_DECLARE(apr_status_t) ap_exec_proc_kill(apr_exec_handle_t *proc, int sig); #endif /* MOD_EXEC_H */ /** @} */
