Skip to content

Commit

Permalink
fix tsm1 for Solaris influxdata#4787, passes unit tests now
Browse files Browse the repository at this point in the history
  • Loading branch information
Fazal Majid committed Dec 8, 2015
1 parent 4f30d39 commit 0f889a7
Showing 1 changed file with 33 additions and 0 deletions.
33 changes: 33 additions & 0 deletions tsdb/engine/tsm1/mmap_solaris.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
// +build solaris

package tsm1

import (
"os"
"syscall"

"golang.org/x/sys/unix"
)


func mmap(f *os.File, offset int64, length int) ([]byte, error) {
mmap, err := unix.Mmap(int(f.Fd()), 0, length, syscall.PROT_READ, syscall.MAP_SHARED)
if err != nil {
return nil, err
}

if err := unix.Madvise(mmap, syscall.MADV_RANDOM); err != nil {
return nil, err
}

return mmap, nil
}

func munmap(b []byte) (err error) {
return unix.Munmap(b)
}

// From: github.com/boltdb/bolt/bolt_unix.go
func madvise(b []byte, advice int) (err error) {
return unix.Madvise(b, advice)
}

0 comments on commit 0f889a7

Please sign in to comment.