MCPcopy
hub / github.com/benbjohnson/litestream / Close

Method Close

cmd/litestream/replicate.go:436–462  ·  view source on GitHub ↗

Close closes all open databases.

(ctx context.Context)

Source from the content-addressed store, hash-verified

434
435// Close closes all open databases.
436func (c *ReplicateCommand) Close(ctx context.Context) error {
437 for _, monitor := range c.directoryMonitors {
438 monitor.Close()
439 }
440 c.directoryMonitors = nil
441
442 if c.Server != nil {
443 if err := c.Server.Close(); err != nil {
444 slog.Error("error closing control server", "error", err)
445 }
446 }
447 if c.Store != nil {
448 if err := c.Store.Close(ctx); err != nil {
449 if errors.Is(err, litestream.ErrShutdownInterrupted) {
450 slog.Warn("shutdown sync skipped by user interrupt", "error", err)
451 } else {
452 slog.Error("failed to close database", "error", err)
453 }
454 }
455 }
456 if c.Config.MCPAddr != "" && c.MCP != nil {
457 if err := c.MCP.Close(); err != nil {
458 slog.Error("error closing MCP server", "error", err)
459 }
460 }
461 return nil
462}
463
464// SetDone sets the done channel used for interrupt handling during shutdown.
465// When the channel is closed, the shutdown sync retry loop exits.

Callers 3

ExecuteMethod · 0.95
RunMethod · 0.95
RunMethod · 0.45

Calls 2

IsMethod · 0.80
ErrorMethod · 0.45

Tested by

no test coverage detected