summaryrefslogtreecommitdiffhomepage
path: root/src/nxt_conn.h
diff options
context:
space:
mode:
authorIgor Sysoev <igor@sysoev.ru>2019-02-28 18:04:11 +0300
committerIgor Sysoev <igor@sysoev.ru>2019-02-28 18:04:11 +0300
commit834e8ca576868c5ecd104bd5ebec9968c7f80a0b (patch)
tree1574f2532ffd849666e78b6a68fc7a03cfa1eb34 /src/nxt_conn.h
parentafda14d1f23cc49eee5939c25278eec3501d8631 (diff)
downloadunit-834e8ca576868c5ecd104bd5ebec9968c7f80a0b.tar.gz
unit-834e8ca576868c5ecd104bd5ebec9968c7f80a0b.tar.bz2
Fixed timer and event race condition.
When idle timeout occurs at the same time as a request comes in, the timer handler closes connection while the read event triggers request processing, and this eventually leads to segmentation fault.
Diffstat (limited to 'src/nxt_conn.h')
-rw-r--r--src/nxt_conn.h3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/nxt_conn.h b/src/nxt_conn.h
index d8b48694..7284808b 100644
--- a/src/nxt_conn.h
+++ b/src/nxt_conn.h
@@ -157,7 +157,8 @@ struct nxt_conn_s {
nxt_sockaddr_t *local;
const char *action;
- uint8_t blocked; /* 1 bit */
+ uint8_t block_read; /* 1 bit */
+ uint8_t block_write; /* 1 bit */
uint8_t delayed; /* 1 bit */
#define NXT_CONN_SENDFILE_OFF 0