From b962d7d791bb13830d62d7ae326780b413463971 Mon Sep 17 00:00:00 2001 From: Brady OBrien Date: Thu, 17 May 2018 17:58:54 -0500 Subject: Add FreeBSD support Signed-off-by: Brady OBrien --- rwcancel/fdset_default.go | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 rwcancel/fdset_default.go (limited to 'rwcancel/fdset_default.go') diff --git a/rwcancel/fdset_default.go b/rwcancel/fdset_default.go new file mode 100644 index 0000000..06e2695 --- /dev/null +++ b/rwcancel/fdset_default.go @@ -0,0 +1,24 @@ +// +build !freebsd + +/* SPDX-License-Identifier: GPL-2.0 + * + * Copyright (C) 2017-2018 Jason A. Donenfeld . All Rights Reserved. + */ + +package rwcancel + +import "golang.org/x/sys/unix" + +type fdSet struct { + fdset unix.FdSet +} + +func (fdset *fdSet) set(i int) { + bits := 32 << (^uint(0) >> 63) + fdset.fdset.Bits[i/bits] |= 1 << uint(i%bits) +} + +func (fdset *fdSet) check(i int) bool { + bits := 32 << (^uint(0) >> 63) + return (fdset.fdset.Bits[i/bits] & (1 << uint(i%bits))) != 0 +} -- cgit v1.2.3