]> Sergey Matveev's repositories - public-inbox.git/commit
ipc: wq: handle >MAX_ARG_STRLEN && <EMSGSIZE case
authorEric Wong <e@80x24.org>
Tue, 25 May 2021 22:20:01 +0000 (22:20 +0000)
committerEric Wong <e@80x24.org>
Tue, 25 May 2021 23:05:02 +0000 (23:05 +0000)
commit708b182a57373172f5523f3dc297659d58e03b58
tree90d2a254577ce297f33f7988ccc6eceed252435c
parent3060d78b4183f3e985fb7ff8864949de990f2610
ipc: wq: handle >MAX_ARG_STRLEN && <EMSGSIZE case

WQWorkers are limited roughly to MAX_ARG_STRLEN (the kernel
limit of argv + environ) to avoid excessive memory growth.
Occasionally, we need to send larger messages via workqueues
that are too small to hit EMSGSIZE on the sender.

This fixes "lei q" when using HTTP(S) externals, since that
code path sends large Eml objects from lei_xsearch workers
directly to lei2mail WQ workers.
lib/PublicInbox/IPC.pm
lib/PublicInbox/WQWorker.pm
t/ipc.t