Необходимость взаимного исключения процессов/нитей

Alex Tutubalin lexa at lexa.ru
Wed Mar 12 09:56:25 MSK 2008


> addr = ((struct sockaddr_in *) (r->connection->sockaddr))->sin_addr.s_addr;
> key = rlimit_hash_key(addr, ..);
> ..
> pthread_mutex_lock(&ctx->hash_locks[key]);

pthread - это контекст процесса. 
А разные workers - это разные процессы. Threads в них нету.

> То ли вообще нет необходимости в защите разделяемой памяти в этом месте, то
> ли это специфично только для freeBSD. Под Linux, увы, нет достаточно
> нагруженного сервера.

Необходимость есть и семафоры - подходящий вариант.

Алексей Тутубалин
mailto: lexa at lexa.ru
Web: http://www.lexa.ru/lexa 





More information about the nginx-ru mailing list