|
@@ -3,10 +3,10 @@
|
|
package native
|
|
package native
|
|
|
|
|
|
import (
|
|
import (
|
|
|
|
+ "encoding/json"
|
|
"os"
|
|
"os"
|
|
|
|
|
|
"github.com/docker/libcontainer"
|
|
"github.com/docker/libcontainer"
|
|
- "github.com/docker/libcontainer/syncpipe"
|
|
|
|
)
|
|
)
|
|
|
|
|
|
func findUserArgs() []string {
|
|
func findUserArgs() []string {
|
|
@@ -21,15 +21,9 @@ func findUserArgs() []string {
|
|
// loadConfigFromFd loads a container's config from the sync pipe that is provided by
|
|
// loadConfigFromFd loads a container's config from the sync pipe that is provided by
|
|
// fd 3 when running a process
|
|
// fd 3 when running a process
|
|
func loadConfigFromFd() (*libcontainer.Config, error) {
|
|
func loadConfigFromFd() (*libcontainer.Config, error) {
|
|
- syncPipe, err := syncpipe.NewSyncPipeFromFd(0, 3)
|
|
|
|
- if err != nil {
|
|
|
|
- return nil, err
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
var config *libcontainer.Config
|
|
var config *libcontainer.Config
|
|
- if err := syncPipe.ReadFromParent(&config); err != nil {
|
|
|
|
|
|
+ if err := json.NewDecoder(os.NewFile(3, "child")).Decode(&config); err != nil {
|
|
return nil, err
|
|
return nil, err
|
|
}
|
|
}
|
|
-
|
|
|
|
return config, nil
|
|
return config, nil
|
|
}
|
|
}
|