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:
parent
94c691edc9
commit
0725be9773
|
@ -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)
|
||||
|
|
Loading…
Reference in New Issue