#ifndef _NGX_OS_THREAD_H_INCLUDED_ #define _NGX_OS_THREAD_H_INCLUDED_ typedef int ngx_os_tid_t; typedef int ngx_tid_t; extern char *ngx_stacks_start; extern char *ngx_stacks_end; extern size_t ngx_stack_size; static inline ngx_tid_t ngx_gettid() { char *sp; __asm__ ("mov %%esp,%0" : "=r" (sp)); return (sp > ngx_stacks_end) ? 0: (sp - ngx_stacks_start) / ngx_stack_size + 1; } #endif /* _NGX_OS_THREAD_H_INCLUDED_ */