From 3027868a5097e43f42c11b31cf01b91035f3fc62 Mon Sep 17 00:00:00 2001 From: Roman Arutyunyan Date: Fri, 1 Jun 2012 15:07:37 +0400 Subject: [PATCH] fixed crash because of shared log handler changed by relay --- ngx_rtmp_relay_module.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/ngx_rtmp_relay_module.c b/ngx_rtmp_relay_module.c index b36110a..249ccfb 100644 --- a/ngx_rtmp_relay_module.c +++ b/ngx_rtmp_relay_module.c @@ -49,6 +49,7 @@ struct ngx_rtmp_relay_ctx_s { ngx_str_t name; ngx_str_t app; ngx_str_t url; + ngx_log_t log; ngx_rtmp_session_t *session; ngx_rtmp_relay_ctx_t *publish; ngx_rtmp_relay_ctx_t *play; @@ -243,7 +244,9 @@ ngx_rtmp_relay_create_remote_ctx(ngx_rtmp_session_t *s, ngx_str_t *app, if (pc == NULL) { goto clear; } - pc->log = racf->log; + /* copy log to keep shared log unchanged */ + rctx->log = *racf->log; + pc->log = &rctx->log; pc->get = ngx_rtmp_relay_get_peer; pc->free = ngx_rtmp_relay_free_peer; pc->name = &url->host;