Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Better daemonization/service model #2

Open
abathur opened this issue Dec 26, 2020 · 0 comments
Open

Better daemonization/service model #2

abathur opened this issue Dec 26, 2020 · 0 comments
Labels
help wanted Extra attention is needed

Comments

@abathur
Copy link
Owner

abathur commented Dec 26, 2020

The current MVP model uses bash coproc for bi-directional I/O. Convenient for dev, but has a few issues:

  • the daemon is actually attached to the shell...
    • it may show up in your window/tab title
    • terminal may block on exit because lilgitd is running (workaround at least in macOS Terminal.app: Terminal > Preferences > Shell > add lilgitd to the ask-before-closing exception list)
    • common signals for the shell may kill it (tentatively addressed with dc9f749)
  • there's technically a process per terminal; it's pretty small (a few mb), but it is a little wasteful if you run many terminals (as I do)

An obvious answer is "do what gitstatus does", and I assume named pipes/fifos are part of the solution, but this is a bit of a blind spot for me. I've done one-way client communication to a service over a fifo, but I'm not sure what the simplest way to design around multi-client is.

@abathur abathur added the help wanted Extra attention is needed label Dec 26, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
help wanted Extra attention is needed
Projects
None yet
Development

No branches or pull requests

1 participant