mu: add --listen option for server

Add a --listen option for the server

Rework the option code to share the --listen / socket-path code between scm and
server subcommands.

Move option off the stack in mu.cc, seems it's too big, at least when using gdb.
This commit is contained in:
Dirk-Jan C. Binnema
2025-08-21 08:39:20 +03:00
parent d5a0fce4cf
commit 9a2d481fc3
5 changed files with 116 additions and 43 deletions

View File

@ -61,10 +61,16 @@ directly through the emacs process input/output. This is noticeably faster for
commands with a lot of output, esp. when the the temp-file uses a in-memory
file-system.
** --listen
If set, the server starts an SCM REPL as well, which listens on a Unix domain
socket. This corresponds to the *--listen* options for *mu scm**.
The store object (including the Xapian database) is shared between the server and the REPL.
* PERFORMANCE
As an indication for the relative performance, we can simulate something ~mu4e~
does; we take overall time of 50 such requests:
does. We take the overall time of 50 such requests:
#+begin_src sh
time build/mu/mu server --allow-temp-file --eval '(find :query "\"\"" :include-related t :threads t :maxnum 50000)' >/dev/null
@ -78,7 +84,6 @@ time build/mu/mu server --allow-temp-file --eval '(find :query "\"\"" :include-r
| 1.10 | 5.7s |
| 1.11 (master) | 2.8s |
#+include: "muhome.inc" :minlevel 2
#+include: "common-options.inc" :minlevel 1
@ -87,4 +92,5 @@ time build/mu/mu server --allow-temp-file --eval '(find :query "\"\"" :include-r
* SEE ALSO
{{{man-link(mu,1)}}}
{{{man-link(mu,1)}}},
{{{man-link(mu-scm,1)}}}