Mercurial > hg > nginx
view src/os/win32/ngx_thread.c @ 477:ad1e9ebf93bb release-0.1.13
nginx-0.1.13-RELEASE import
*) Feature: the server_names_hash and server_names_hash_threshold
directives.
*) Bugfix: the *.domain.tld names in the "server_name" directive did
not work.
*) Bugfix: the %request_length log parameter logged the incorrect
length.
author | Igor Sysoev <igor@sysoev.ru> |
---|---|
date | Tue, 21 Dec 2004 12:30:30 +0000 |
parents | a88a3e4e158f |
children | d4ea69372b94 |
line wrap: on
line source
/* * Copyright (C) Igor Sysoev */ #include <ngx_config.h> #include <ngx_core.h> ngx_int_t ngx_threads_n; static size_t stack_size; ngx_err_t ngx_create_thread(ngx_tid_t *tid, void* (*func)(void *arg), void *arg, ngx_log_t *log) { ngx_err_t err; *tid = CreateThread(NULL, stack_size, (LPTHREAD_START_ROUTINE) func, arg, 0, NULL); if (*tid != NULL) { return 0; } err = ngx_errno; ngx_log_error(NGX_LOG_ALERT, log, err, "CreateThread() failed"); return err; } ngx_int_t ngx_init_threads(int n, size_t size, ngx_cycle_t *cycle) { stack_size = size; return NGX_OK; } ngx_err_t ngx_thread_key_create(ngx_tls_key_t *key) { *key = TlsAlloc(); if (*key == TLS_OUT_OF_INDEXES) { return ngx_errno; } return 0; } ngx_err_t ngx_thread_set_tls(ngx_tls_key_t *key, void *data) { if (TlsSetValue(*key, data) == 0) { return ngx_errno; } return 0; } ngx_mutex_t *ngx_mutex_init(ngx_log_t *log, ngx_uint_t flags) { return (ngx_mutex_t *) 1; }