MCPcopy
hub / github.com/opencontainers/runc / saveState

Method saveState

libcontainer/container_linux.go:837–861  ·  view source on GitHub ↗
(s *State)

Source from the content-addressed store, hash-verified

835}
836
837func (c *Container) saveState(s *State) (retErr error) {
838 tmpFile, err := os.CreateTemp(c.stateDir, "state-")
839 if err != nil {
840 return err
841 }
842
843 defer func() {
844 if retErr != nil {
845 tmpFile.Close()
846 os.Remove(tmpFile.Name())
847 }
848 }()
849
850 err = utils.WriteJSON(tmpFile, s)
851 if err != nil {
852 return err
853 }
854 err = tmpFile.Close()
855 if err != nil {
856 return err
857 }
858
859 stateFilePath := filepath.Join(c.stateDir, stateFilename)
860 return os.Rename(tmpFile.Name(), stateFilePath)
861}
862
863func (c *Container) currentStatus() (Status, error) {
864 if err := c.refreshState(); err != nil {

Callers 1

updateStateMethod · 0.95

Calls 3

WriteJSONFunction · 0.92
RemoveMethod · 0.80
CloseMethod · 0.45

Tested by

no test coverage detected