00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017 #include "apr.h"
00018 #include "apr_thread_proc.h"
00019 #include "apr_file_io.h"
00020
00021 #include <sys/wait.h>
00022
00023 #ifndef THREAD_PROC_H
00024 #define THREAD_PROC_H
00025
00026 #define SHELL_PATH ""
00027 #define APR_DEFAULT_STACK_SIZE 65536
00028
00029 struct apr_thread_t {
00030 apr_pool_t *pool;
00031 NXContext_t ctx;
00032 NXThreadId_t td;
00033 char *thread_name;
00034 apr_int32_t cancel;
00035 apr_int32_t cancel_how;
00036 void *data;
00037 apr_thread_start_t func;
00038 apr_status_t exitval;
00039 };
00040
00041 struct apr_threadattr_t {
00042 apr_pool_t *pool;
00043 apr_size_t stack_size;
00044 apr_int32_t detach;
00045 char *thread_name;
00046 };
00047
00048 struct apr_threadkey_t {
00049 apr_pool_t *pool;
00050 NXKey_t key;
00051 };
00052
00053 struct apr_procattr_t {
00054 apr_pool_t *pool;
00055 apr_file_t *parent_in;
00056 apr_file_t *child_in;
00057 apr_file_t *parent_out;
00058 apr_file_t *child_out;
00059 apr_file_t *parent_err;
00060 apr_file_t *child_err;
00061 char *currdir;
00062 apr_int32_t cmdtype;
00063 apr_int32_t detached;
00064 apr_int32_t addrspace;
00065 };
00066
00067 struct apr_thread_once_t {
00068 unsigned long value;
00069 };
00070
00071
00072
00073
00074
00075
00076
00077 #endif
00078