Mercurial > hg > nginx-mail
view src/event/ngx_event_connect.h @ 116:e38f51cd0905 NGINX_0_3_5
nginx 0.3.5
*) Bugfix: the segmentation fault may occurred if the IMAP/POP3 login
was changed by authorization server; bug appeared in 0.2.2.
*) Bugfix: the accept mutex did not work and all connections were
handled by one process; bug appeared in 0.3.3.
*) Bugfix: the timeout did not work if the "rtsig" method and the
"timer_resolution" directive were used.
author | Igor Sysoev <http://sysoev.ru> |
---|---|
date | Fri, 21 Oct 2005 00:00:00 +0400 |
parents | 45945fa8b8ba |
children | df17fbafec8f |
line wrap: on
line source
/* * Copyright (C) Igor Sysoev */ #ifndef _NGX_EVENT_CONNECT_H_INCLUDED_ #define _NGX_EVENT_CONNECT_H_INCLUDED_ #include <ngx_config.h> #include <ngx_core.h> #include <ngx_event.h> typedef struct { struct sockaddr *sockaddr; socklen_t socklen; ngx_str_t name; char *uri_separator; ngx_uint_t weight; ngx_uint_t fails; time_t accessed; ngx_uint_t max_fails; time_t fail_timeout; } ngx_peer_t; struct ngx_peers_s { ngx_uint_t current; ngx_uint_t weight; ngx_uint_t number; ngx_uint_t last_cached; /* ngx_mutex_t *mutex; */ ngx_connection_t **cached; ngx_peer_t peer[1]; }; typedef struct { ngx_peers_t *peers; ngx_uint_t cur_peer; ngx_uint_t tries; ngx_connection_t *connection; #if (NGX_THREADS) ngx_atomic_t *lock; #endif int rcvbuf; ngx_log_t *log; unsigned cached:1; unsigned log_error:2; /* ngx_connection_log_error_e */ } ngx_peer_connection_t; ngx_int_t ngx_event_connect_peer(ngx_peer_connection_t *pc); void ngx_event_connect_peer_failed(ngx_peer_connection_t *pc, ngx_uint_t down); #endif /* _NGX_EVENT_CONNECT_H_INCLUDED_ */