diff options
author | Max Romanov <max.romanov@nginx.com> | 2019-08-30 00:07:54 +0300 |
---|---|---|
committer | Max Romanov <max.romanov@nginx.com> | 2019-08-30 00:07:54 +0300 |
commit | 7053a35a60bdacdfcf1277dd8f08f6c46c8028c7 (patch) | |
tree | 2541faa49735325e5ebdf4314448ae57da4584f9 /src/nxt_router.c | |
parent | e2abfaf381984b9c441555a3614336b64008c80d (diff) | |
download | unit-7053a35a60bdacdfcf1277dd8f08f6c46c8028c7.tar.gz unit-7053a35a60bdacdfcf1277dd8f08f6c46c8028c7.tar.bz2 |
Fixed WebSocket implementation that was broken on some systems.
The "nxt_http_websocket" request state, defined in "nxt_http_websocket.c",
is used in "nxt_router.c" and must be linked with external symbol declared
in "nxt_router.c".
Due to the missing "extern" keyword, building Unit with some linkers
(notably gold and LLD) caused WebSocket connections to get stuck or even
crash the router process.
Diffstat (limited to 'src/nxt_router.c')
-rw-r--r-- | src/nxt_router.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/nxt_router.c b/src/nxt_router.c index c3bcc51c..89ea5fe6 100644 --- a/src/nxt_router.c +++ b/src/nxt_router.c @@ -247,7 +247,7 @@ static nxt_int_t nxt_router_http_request_done(nxt_task_t *task, static void nxt_router_http_request_release(nxt_task_t *task, void *obj, void *data); -const nxt_http_request_state_t nxt_http_websocket; +extern const nxt_http_request_state_t nxt_http_websocket; static nxt_router_t *nxt_router; |