aboutsummaryrefslogtreecommitdiffhomepage
path: root/internal/outcome/process.go
AgeCommit message (Collapse)Author
2025-11-13internal/info: relocate from internalOphestra
This is cleaner and makes more sense. The longer LDFLAGS was never a valid concern since it is always inserted by a script. Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-11-13treewide: import internal/systemOphestra
For #24. Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-11-10cmd/hakurei: expose current instance identifierOphestra
This writes the 16-byte instance identifier to file descriptor specified by --identifier-fd if set, and closes the file. This enables safely obtaining the new instance's identifier. Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-11-02internal/outcome: track state in TMPDIROphestra
The SharePath is a more stable path than RunDirPath, since it is available all the time and should remain consistent. This also fits better into the intended use case of XDG_RUNTIME_DIR. Closes #17. Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-11-02internal/outcome/process: nil-safe unlock when failing to lockOphestra
This also prints a debug message which might be useful. Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-11-02internal/outcome: measure finalise timeOphestra
This also increases precision of state time output. Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-11-02internal/outcome/process: use new store interfaceOphestra
This change also spawns shim before committing system state, leaving it blocking on the setup pipe. The internal/outcome/process structure is also entirely reworked to be much more readable and less error-prone, while enabling basic performance measurements. A long-standing bug where segment lock is not held during Commit is also resolved. Closes #19. Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-11-01internal/outcome/process: relocate start and serveOphestra
This is useful for reordering these operations for further cleanup. Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-10-31internal/outcome: remove guard on mainOphestra
This is no longer exported. Such a check is pointless. Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-10-31container/params: expose pipeOphestra
This increases flexibility of how caller wants to handle the I/O. Also makes it no longer rely on finalizer. Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-10-30internal/store: rename compat interfaceOphestra
The new store implementation will be exported as Store. Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-10-30internal/store: rename from stateOphestra
This reduces collision with local variable names, and generally makes sense for the new store package, since it no longer specifies the state struct. Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-10-30internal/outcome/process: output via msgOphestra
This makes it possible to instrument output behaviour through stub. Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-10-29internal/outcome: rename from appOphestra
This is less ambiguous, and more accurately describes the purpose of the package. Signed-off-by: Ophestra <cat@gensokyo.uk>