--
You received this message because you are subscribed to the Google Groups "nginxpushstream" group.
To unsubscribe from this group and stop receiving emails from it, send an email to nginxpushstre...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
Hi Wandenberg!
I've added new information to the issue that may be useful to you!
Also looked at the source code and ask to see if patch will help in this case?
diff --git a/src/ngx_http_push_stream_module_utils.c b/src/ngx_http_push_stream_module_utils.c
index a87c76b..510ab89 100644
--- a/src/ngx_http_push_stream_module_utils.c
+++ b/src/ngx_http_push_stream_module_utils.c
@@ -1020,6 +1020,7 @@ ngx_http_push_stream_collect_expired_messages_and_empty_channels_data(ngx_http_p
channel = ngx_queue_data(q, ngx_http_push_stream_channel_t, queue);
q = ngx_queue_next(q);
+ ngx_shmtx_lock(channel->mutex);
if ((channel->stored_messages == 0) && (channel->subscribers == 0) && (channel->expires < ngx_time()) && !channel->for_events) {
channel->deleted = 1;
channel->expires = ngx_time() + NGX_HTTP_PUSH_STREAM_DEFAULT_SHM_MEMORY_CLEANUP_OBJECTS_TTL;
@@ -1035,6 +1036,7 @@ ngx_http_push_stream_collect_expired_messages_and_empty_channels_data(ngx_http_p
ngx_http_push_stream_send_event(mcf, ngx_cycle->log, channel, &NGX_HTTP_PUSH_STREAM_EVENT_TYPE_CHANNEL_DESTROYED, temp_pool);
}
+ ngx_shmtx_unlock(channel->mutex);
}
ngx_shmtx_unlock(&data->channels_queue_mutex);
От: Wandenberg
Отправлено: 21 сентября 2018 г. в 15:52
Кому: nginxpu...@googlegroups.com
Тема: Re: segfault at ngx_shmtx_lock(subscription->channel->mutex) inngx_http_push_stream_worker_subscriber_cleanup by timeout