MCPcopy Create free account
hub / github.com/linuxkit/linuxkit / sendToLogger

Function sendToLogger

pkg/init/cmd/service/logging.go:190–216  ·  view source on GitHub ↗
(name string, fd int)

Source from the content-addressed store, hash-verified

188}
189
190func sendToLogger(name string, fd int) error {
191 var ctlSocket int
192 var err error
193 if ctlSocket, err = syscall.Socket(syscall.AF_UNIX, syscall.SOCK_DGRAM, 0); err != nil {
194 return err
195 }
196
197 var ctlConn net.Conn
198 if ctlConn, err = net.FileConn(os.NewFile(uintptr(ctlSocket), "")); err != nil {
199 return err
200 }
201 defer ctlConn.Close()
202
203 ctlUnixConn, ok := ctlConn.(*net.UnixConn)
204 if !ok {
205 // should never happen
206 log.Fatal("Internal error, invalid cast.")
207 }
208
209 raddr := net.UnixAddr{Name: logWriteSocket, Net: "unixgram"}
210 oobs := syscall.UnixRights(fd)
211 _, _, err = ctlUnixConn.WriteMsgUnix([]byte(name), oobs, &raddr)
212 if err != nil {
213 return errLoggingNotEnabled
214 }
215 return nil
216}

Callers 2

PathMethod · 0.85
OpenMethod · 0.85

Calls 1

CloseMethod · 0.45

Tested by

no test coverage detected