diff options
Diffstat (limited to 'meta/recipes-devtools/go/go-1.6/syslog.patch')
-rw-r--r-- | meta/recipes-devtools/go/go-1.6/syslog.patch | 62 |
1 files changed, 62 insertions, 0 deletions
diff --git a/meta/recipes-devtools/go/go-1.6/syslog.patch b/meta/recipes-devtools/go/go-1.6/syslog.patch new file mode 100644 index 0000000000..29be06f1bd --- /dev/null +++ b/meta/recipes-devtools/go/go-1.6/syslog.patch | |||
@@ -0,0 +1,62 @@ | |||
1 | Add timeouts to logger | ||
2 | |||
3 | Signed-off-by: Khem Raj <raj.khem@gmail.com> | ||
4 | Upstream-Status: Pending | ||
5 | |||
6 | diff -r -u go/src/log/syslog/syslog.go /home/achang/GOCOPY/go/src/log/syslog/syslog.go | ||
7 | --- go/src/log/syslog/syslog.go 2013-11-28 13:38:28.000000000 -0800 | ||
8 | +++ /home/achang/GOCOPY/go/src/log/syslog/syslog.go 2014-10-03 11:44:37.710403200 -0700 | ||
9 | @@ -33,6 +33,9 @@ | ||
10 | const severityMask = 0x07 | ||
11 | const facilityMask = 0xf8 | ||
12 | |||
13 | +var writeTimeout = 1 * time.Second | ||
14 | +var connectTimeout = 1 * time.Second | ||
15 | + | ||
16 | const ( | ||
17 | // Severity. | ||
18 | |||
19 | @@ -100,6 +103,7 @@ | ||
20 | type serverConn interface { | ||
21 | writeString(p Priority, hostname, tag, s, nl string) error | ||
22 | close() error | ||
23 | + setWriteDeadline(t time.Time) error | ||
24 | } | ||
25 | |||
26 | type netConn struct { | ||
27 | @@ -273,7 +277,11 @@ | ||
28 | nl = "\n" | ||
29 | } | ||
30 | |||
31 | - err := w.conn.writeString(p, w.hostname, w.tag, msg, nl) | ||
32 | + err := w.conn.setWriteDeadline(time.Now().Add(writeTimeout)) | ||
33 | + if err != nil { | ||
34 | + return 0, err | ||
35 | + } | ||
36 | + err = w.conn.writeString(p, w.hostname, w.tag, msg, nl) | ||
37 | if err != nil { | ||
38 | return 0, err | ||
39 | } | ||
40 | @@ -305,6 +313,10 @@ | ||
41 | return n.conn.Close() | ||
42 | } | ||
43 | |||
44 | +func (n *netConn) setWriteDeadline(t time.Time) error { | ||
45 | + return n.conn.SetWriteDeadline(t) | ||
46 | +} | ||
47 | + | ||
48 | // NewLogger creates a log.Logger whose output is written to | ||
49 | // the system log service with the specified priority. The logFlag | ||
50 | // argument is the flag set passed through to log.New to create | ||
51 | diff -r -u go/src/log/syslog/syslog_unix.go /home/achang/GOCOPY/go/src/log/syslog/syslog_unix.go | ||
52 | --- go/src/log/syslog/syslog_unix.go 2013-11-28 13:38:28.000000000 -0800 | ||
53 | +++ /home/achang/GOCOPY/go/src/log/syslog/syslog_unix.go 2014-10-03 11:44:39.010403175 -0700 | ||
54 | @@ -19,7 +19,7 @@ | ||
55 | logPaths := []string{"/dev/log", "/var/run/syslog"} | ||
56 | for _, network := range logTypes { | ||
57 | for _, path := range logPaths { | ||
58 | - conn, err := net.Dial(network, path) | ||
59 | + conn, err := net.DialTimeout(network, path, connectTimeout) | ||
60 | if err != nil { | ||
61 | continue | ||
62 | } else { | ||