drivers/syslog/syslog_stream.c: In syslog bufferedmode, avoid IOB alloc lock-up with heavy network activity. This change alters the buffered syslog logic to use 'iob_tryalloc' instead of blocking 'iob_alloc' to avoid syslog printing from getting stuck when all IOBs are depleted by network activity. An issue was seen when large incoming TCP transfer uses free IOB buffers and processing threads try to use syslog which then block at iob_alloc.

This commit is contained in:
Jussi Kivilinna 2019-04-03 07:35:38 -06:00 committed by Gregory Nutt
parent 94c691edc9
commit 0725be9773
1 changed files with 1 additions and 1 deletions

View File

@ -225,7 +225,7 @@ void syslogstream_create(FAR struct lib_syslogstream_s *stream)
#ifdef CONFIG_SYSLOG_BUFFER
/* Allocate an IOB */
iob = iob_alloc(true);
iob = iob_tryalloc(true);
stream->iob = iob;
if (iob != NULL)