diff options
Diffstat (limited to 'src/os/unix')
-rw-r--r-- | src/os/unix/ngx_pthread.c | 26 | ||||
-rw-r--r-- | src/os/unix/ngx_pthread.h | 14 |
2 files changed, 40 insertions, 0 deletions
diff --git a/src/os/unix/ngx_pthread.c b/src/os/unix/ngx_pthread.c new file mode 100644 index 000000000..2491032a4 --- /dev/null +++ b/src/os/unix/ngx_pthread.c @@ -0,0 +1,26 @@ + + +#include <ngx_config.h> + +#include <ngx_log.h> +#include <ngx_pthread.h> + + +int ngx_create_os_thread(ngx_os_tid_t *tid, void *stack, + ngx_thread_start_routine_t func, void *arg, + ngx_log_t log) +{ + int err; + pthread_attr_t *attr; + + attr = NULL; + + err = pthread_create(tid, attr, func, arg); + + if (err != 0) { + ngx_log_error(NGX_LOG_ERR, log, err, "pthread_create() failed"); + return NGX_ERROR; + } + + return NGX_OK; +} diff --git a/src/os/unix/ngx_pthread.h b/src/os/unix/ngx_pthread.h new file mode 100644 index 000000000..845655f57 --- /dev/null +++ b/src/os/unix/ngx_pthread.h @@ -0,0 +1,14 @@ +#ifndef _NGX_OS_THREAD_H_INCLUDED_ +#define _NGX_OS_THREAD_H_INCLUDED_ + + +#include <pthread.h> + + +typedef pthread_t ngx_os_tid_t; +typedef int ngx_tid_t; + +typedef void *(*)(void *) ngx_thread_start_routine_t + + +#endif /* _NGX_OS_THREAD_H_INCLUDED_ */ |