X7ROOT File Manager
Current Path:
/opt/golang/1.17.2/src/os/signal
opt
/
golang
/
1.17.2
/
src
/
os
/
signal
/
📁
..
📄
doc.go
(10.66 KB)
📄
example_test.go
(1001 B)
📄
example_unix_test.go
(1.25 KB)
📁
internal
📄
sig.s
(410 B)
📄
signal.go
(8.28 KB)
📄
signal_cgo_test.go
(6.13 KB)
📄
signal_linux_test.go
(1.11 KB)
📄
signal_plan9.go
(1.02 KB)
📄
signal_plan9_test.go
(3.59 KB)
📄
signal_test.go
(26.72 KB)
📄
signal_unix.go
(1.15 KB)
📄
signal_windows_test.go
(1.94 KB)
Editing: example_unix_test.go
// Copyright 2020 The Go Authors. All rights reserved. // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. //go:build aix || darwin || dragonfly || freebsd || linux || netbsd || openbsd || solaris // +build aix darwin dragonfly freebsd linux netbsd openbsd solaris package signal_test import ( "context" "fmt" "log" "os" "os/signal" "time" ) // This example passes a context with a signal to tell a blocking function that // it should abandon its work after a signal is received. func ExampleNotifyContext() { ctx, stop := signal.NotifyContext(context.Background(), os.Interrupt) defer stop() p, err := os.FindProcess(os.Getpid()) if err != nil { log.Fatal(err) } // On a Unix-like system, pressing Ctrl+C on a keyboard sends a // SIGINT signal to the process of the program in execution. // // This example simulates that by sending a SIGINT signal to itself. if err := p.Signal(os.Interrupt); err != nil { log.Fatal(err) } select { case <-time.After(time.Second): fmt.Println("missed signal") case <-ctx.Done(): fmt.Println(ctx.Err()) // prints "context canceled" stop() // stop receiving signal notifications as soon as possible. } // Output: // context canceled }
Upload File
Create Folder