LibclusterMesh.Runner.SystemCmd (libcluster_mesh v0.1.0)

Copy Markdown View Source

Default LibclusterMesh.Runner, running the mesh CLI through a port.

A missing binary, a non-zero exit and a daemon that never answers all come back as {:error, message} rather than raising, and timeout bounds the whole call, so one poll is the most any of them can cost.

A command still running at timeout is signalled by pid. Closing a port frees the file descriptors and leaves the program behind it running, and a status command blocked on a wedged daemon socket has nothing to notice, so merely abandoning it would leave one more of them behind on every poll for as long as the daemon stays wedged.