 1d3d08026d
			
		
	
	1d3d08026d
	
	
	
		
			
			systemd uses SIGRTMIN+n signals, but containerd didn't support the signals since Go's sys/unix doesn't support them. This change introduces SIGRTMIN+n handling by utilizing moby/sys/signal. Fixes #5402. https://www.freedesktop.org/software/systemd/man/systemd.html#Signals Signed-off-by: Kazuyoshi Kato <katokazu@amazon.com>
		
			
				
	
	
		
			37 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			37 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
| package signal
 | |
| 
 | |
| import (
 | |
| 	"syscall"
 | |
| 
 | |
| 	"golang.org/x/sys/windows"
 | |
| )
 | |
| 
 | |
| // Signals used in cli/command (no windows equivalent, use
 | |
| // invalid signals so they don't get handled)
 | |
| const (
 | |
| 	SIGCHLD  = syscall.Signal(0xff)
 | |
| 	SIGWINCH = syscall.Signal(0xff)
 | |
| 	SIGPIPE  = syscall.Signal(0xff)
 | |
| 	// DefaultStopSignal is the syscall signal used to stop a container in windows systems.
 | |
| 	DefaultStopSignal = "15"
 | |
| )
 | |
| 
 | |
| // SignalMap is a map of "supported" signals. As per the comment in GOLang's
 | |
| // ztypes_windows.go: "More invented values for signals". Windows doesn't
 | |
| // really support signals in any way, shape or form that Unix does.
 | |
| var SignalMap = map[string]syscall.Signal{
 | |
| 	"HUP":  syscall.Signal(windows.SIGHUP),
 | |
| 	"INT":  syscall.Signal(windows.SIGINT),
 | |
| 	"QUIT": syscall.Signal(windows.SIGQUIT),
 | |
| 	"ILL":  syscall.Signal(windows.SIGILL),
 | |
| 	"TRAP": syscall.Signal(windows.SIGTRAP),
 | |
| 	"ABRT": syscall.Signal(windows.SIGABRT),
 | |
| 	"BUS":  syscall.Signal(windows.SIGBUS),
 | |
| 	"FPE":  syscall.Signal(windows.SIGFPE),
 | |
| 	"KILL": syscall.Signal(windows.SIGKILL),
 | |
| 	"SEGV": syscall.Signal(windows.SIGSEGV),
 | |
| 	"PIPE": syscall.Signal(windows.SIGPIPE),
 | |
| 	"ALRM": syscall.Signal(windows.SIGALRM),
 | |
| 	"TERM": syscall.Signal(windows.SIGTERM),
 | |
| }
 |