--- /dev/null
+package signalcontext
+
+import (
+ "fmt"
+ "os"
+)
+
+// A Error will be returned by a SignalContext’s Err() method when it
+// was finished due to a signal (rather than e.g. parent cancellation).
+type Error struct {
+ os.Signal
+}
+
+func (e Error) Error() string {
+ return e.String()
+}
+
+func (e Error) String() string {
+ return fmt.Sprintf("received signal: %s", e.Signal)
+}