Skip to content

Commit b7016a0

Browse files
committed
Fix compile issue on FreeBSD 14 (uber#914) (uber#925)
This PR fixes compilation fail on FreeBSD 14, described on [issue by hxw](uber#914) The problem is, that there's no getSendQueueLen function defined for bsd platform, which causes compile failure. The fix adds new, sockio_bsd file with corresponding function implementation and build tags.
1 parent 3495216 commit b7016a0

File tree

1 file changed

+30
-0
lines changed

1 file changed

+30
-0
lines changed

sockio_bsd.go

+30
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
// Copyright (c) 2020 Uber Technologies, Inc.
2+
3+
// Permission is hereby granted, free of charge, to any person obtaining a copy
4+
// of this software and associated documentation files (the "Software"), to deal
5+
// in the Software without restriction, including without limitation the rights
6+
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
7+
// copies of the Software, and to permit persons to whom the Software is
8+
// furnished to do so, subject to the following conditions:
9+
//
10+
// The above copyright notice and this permission notice shall be included in
11+
// all copies or substantial portions of the Software.
12+
//
13+
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
14+
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
15+
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
16+
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
17+
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
18+
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
19+
// THE SOFTWARE.
20+
21+
//go:build aix || darwin || dragonfly || freebsd || netbsd || openbsd || solaris
22+
// +build aix darwin dragonfly freebsd netbsd openbsd solaris
23+
24+
package tchannel
25+
26+
import "golang.org/x/sys/unix"
27+
28+
func getSendQueueLen(fd uintptr) (int, error) {
29+
return unix.IoctlGetInt(int(fd), unix.TIOCOUTQ)
30+
}

0 commit comments

Comments
 (0)