Skip to content

Commit 6b9993e

Browse files
committed
fix: better handling for start and shutdown
1 parent b5d3139 commit 6b9993e

File tree

1 file changed

+10
-0
lines changed

1 file changed

+10
-0
lines changed

container.go

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -79,6 +79,14 @@ func NewContainer(
7979
}
8080

8181
func (c *Container) Start() error {
82+
if c.program.Started() {
83+
return nil
84+
} else if c.program.Suspended() {
85+
if err := c.program.Resume(); err != nil {
86+
return fmt.Errorf("unable to resume program - %w", err)
87+
}
88+
}
89+
8290
go func() {
8391
_, err := c.program.Run()
8492
if err != nil && !errors.Is(err, tea.ErrProgramKilled) {
@@ -260,7 +268,9 @@ func (c *Container) Ready() bool {
260268
func (c *Container) Shutdown(finalizers ...func()) {
261269
fin := make(chan struct{})
262270
c.finalizing = &fin
271+
_ = c.program.program.ReleaseTerminal()
263272
c.program.program.Kill()
273+
fmt.Println() // Ensure a new line after the program is killed
264274
for _, f := range finalizers {
265275
f()
266276
}

0 commit comments

Comments
 (0)