aboutsummaryrefslogtreecommitdiffstats
path: root/lang/tclX/files/patch-signal-test
blob: ffe4c1003dc12f9c68dd3837b16c29703f48ac4f (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
--- tests/signal.test	2002-04-02 21:44:21.000000000 -0500
+++ tests/signal.test	2009-11-26 12:19:20.000000000 -0500
@@ -329,5 +329,5 @@
     echo Notice: restarting of interrupted system calls is not available on this system.
 } else {
-    test signal-3.0 {kill tests} {
+    Test signal-3.0 {kill tests} {
         # Start program on a pipe, but don't doing anything until we send it
         # something to make timing issues smaller.
@@ -346,5 +346,14 @@
             set resp [gets $sp]
         } {} {
-            catch {close $sp}
+	    signal -restart error SIGPIPE
+	    if {[catch {close $sp} e]} {
+		if {$e == "SIGPIPE signal received"} {
+		    puts stderr "$e while closing $sp. This Tcl bug is fixed in recent 8.4 and 8.5 releases"
+		} else {
+		    puts stderr "Unexpected error $e while closing $sp."
+		    append resp - $e
+		}
+	    }
+	    signal default SIGPIPE
             alarm 0
         }
@@ -353,5 +362,5 @@
         # Note this this is somewhat timing dependent and might fail
         # on a heavly loaded system.
-    } {HELLO 1}
+    } 0 {HELLO 1}
 }