open-vault/vault/unix.go
2015-04-19 13:42:47 -07:00

19 lines
440 B
Go

// +build linux darwin freebsd openbsd solaris
package vault
import "syscall"
// LockMemory is used to prevent any memory from being swapped to disk
func LockMemory() error {
// Mlockall prevents all current and future pages from being
// swapped out.
err := syscall.Mlockall(syscall.MCL_CURRENT | syscall.MCL_FUTURE)
// Catch if this is not implemented (darwin for example)
if err == syscall.ENOSYS {
err = nil
}
return err
}