mirror of https://github.com/docker/docs.git
				
				
				
			
		
			
				
	
	
		
			34 lines
		
	
	
		
			534 B
		
	
	
	
		
			Go
		
	
	
	
			
		
		
	
	
			34 lines
		
	
	
		
			534 B
		
	
	
	
		
			Go
		
	
	
	
| package systemd
 | |
| 
 | |
| import (
 | |
| 	"errors"
 | |
| 	"net"
 | |
| 	"os"
 | |
| )
 | |
| 
 | |
| var SdNotifyNoSocket = errors.New("No socket")
 | |
| 
 | |
| // Send a message to the init daemon. It is common to ignore the error.
 | |
| func SdNotify(state string) error {
 | |
| 	socketAddr := &net.UnixAddr{
 | |
| 		Name: os.Getenv("NOTIFY_SOCKET"),
 | |
| 		Net:  "unixgram",
 | |
| 	}
 | |
| 
 | |
| 	if socketAddr.Name == "" {
 | |
| 		return SdNotifyNoSocket
 | |
| 	}
 | |
| 
 | |
| 	conn, err := net.DialUnix(socketAddr.Net, nil, socketAddr)
 | |
| 	if err != nil {
 | |
| 		return err
 | |
| 	}
 | |
| 
 | |
| 	_, err = conn.Write([]byte(state))
 | |
| 	if err != nil {
 | |
| 		return err
 | |
| 	}
 | |
| 
 | |
| 	return nil
 | |
| }
 |