github.com/Psiphon-Labs/psiphon-tunnel-core@v2.0.28+incompatible/psiphon/server/signal.go (about) 1 // +build !windows 2 3 /* 4 * Copyright (c) 2021, Psiphon Inc. 5 * All rights reserved. 6 * 7 * This program is free software: you can redistribute it and/or modify 8 * it under the terms of the GNU General Public License as published by 9 * the Free Software Foundation, either version 3 of the License, or 10 * (at your option) any later version. 11 * 12 * This program is distributed in the hope that it will be useful, 13 * but WITHOUT ANY WARRANTY; without even the implied warranty of 14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 * GNU General Public License for more details. 16 * 17 * You should have received a copy of the GNU General Public License 18 * along with this program. If not, see <http://www.gnu.org/licenses/>. 19 * 20 */ 21 22 package server 23 24 import ( 25 "os" 26 "os/signal" 27 "syscall" 28 ) 29 30 func makeSIGUSR1Channel() chan os.Signal { 31 channel := make(chan os.Signal, 1) 32 signal.Notify(channel, syscall.SIGUSR1) 33 return channel 34 } 35 36 func makeSIGUSR2Channel() chan os.Signal { 37 channel := make(chan os.Signal, 1) 38 signal.Notify(channel, syscall.SIGUSR2) 39 return channel 40 } 41 42 func makeSIGTSTPChannel() chan os.Signal { 43 channel := make(chan os.Signal, 1) 44 signal.Notify(channel, syscall.SIGTSTP) 45 return channel 46 } 47 48 func makeSIGCONTChannel() chan os.Signal { 49 channel := make(chan os.Signal, 1) 50 signal.Notify(channel, syscall.SIGCONT) 51 return channel 52 }