Mercurial > hg > nginx
view src/os/unix/ngx_process.h @ 419:47709bff4468
nginx-0.0.10-2004-09-09-19:40:48 import
author | Igor Sysoev <igor@sysoev.ru> |
---|---|
date | Thu, 09 Sep 2004 15:40:48 +0000 |
parents | b670db10cbbd |
children | da8c5707af39 |
line wrap: on
line source
#ifndef _NGX_PROCESS_H_INCLUDED_ #define _NGX_PROCESS_H_INCLUDED_ typedef pid_t ngx_pid_t; typedef void (*ngx_spawn_proc_pt) (ngx_cycle_t *cycle, void *data); typedef struct { ngx_pid_t pid; int status; ngx_socket_t channel[2]; ngx_spawn_proc_pt proc; void *data; char *name; unsigned respawn:1; unsigned just_respawn:1; unsigned detached:1; unsigned exiting:1; unsigned exited:1; } ngx_process_t; typedef struct { char *path; char *name; char *const *argv; char *const *envp; } ngx_exec_ctx_t; #define NGX_MAX_PROCESSES 1024 #define NGX_PROCESS_NORESPAWN -1 #define NGX_PROCESS_RESPAWN -2 #define NGX_PROCESS_JUST_RESPAWN -3 #define NGX_PROCESS_DETACHED -4 #define ngx_getpid getpid #define ngx_log_pid ngx_pid ngx_pid_t ngx_spawn_process(ngx_cycle_t *cycle, ngx_spawn_proc_pt proc, void *data, char *name, ngx_int_t respawn); ngx_pid_t ngx_execute(ngx_cycle_t *cycle, ngx_exec_ctx_t *ctx); void ngx_process_get_status(void); #define ngx_sched_yield() sched_yield() extern ngx_pid_t ngx_pid; extern ngx_socket_t ngx_channel; extern ngx_int_t ngx_process_slot; extern ngx_int_t ngx_last_process; extern ngx_process_t ngx_processes[NGX_MAX_PROCESSES]; #endif /* _NGX_PROCESS_H_INCLUDED_ */