diff --git a/src/os/unix/ngx_pthread.c b/src/os/unix/ngx_pthread.c
new file mode 100644
index 0000000..2491032
--- /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 0000000..845655f
--- /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_ */
