diff options
author | Eric Wong <e@80x24.org> | 2021-01-10 12:15:11 +0000 |
---|---|---|
committer | Eric Wong <e@80x24.org> | 2021-01-12 03:51:42 +0000 |
commit | 0c89ebd477d1c7a695a0a0b3023c0d41abe573fa (patch) | |
tree | 756c531c331dd7c048465448e61da51d61320696 /lib/PublicInbox/Spawn.pm | |
parent | 372ff2ba6467e8fcea3eb19e5527a5fc398802f9 (diff) | |
download | public-inbox-0c89ebd477d1c7a695a0a0b3023c0d41abe573fa.tar.gz |
Improve interactivity and user experience by allowing the user to return to the terminal immediately when the pager is exited (e.g. hitting the `q' key in less(1)). This is a massive change which restructures query handling to allow parallel search when --thread expansion is in use and offloading to a separate worker when --thread is not in use. The Xapian query offload changes allow us to reenter the event loop right away once the search(es) are shipped off to the work queue workers. This means the main lei-daemon process can forget the lei(1) client socket immediately once it's handed off to worker processes. We now unblock SIGPIPE in query workers and send an exit(141) response to the lei(1) client socket to denote SIGPIPE. This also allows parallelization for users using "lei q" from multiple terminals. JSON output is currently broken and will need to be restructured for more flexibility and fork-safety.
Diffstat (limited to 'lib/PublicInbox/Spawn.pm')
0 files changed, 0 insertions, 0 deletions