mirror of
https://github.com/kovidgoyal/kitty.git
synced 2024-09-20 02:57:19 +03:00
Add openbsd and dragonfly support to shm
This commit is contained in:
parent
7e161ea94b
commit
6ace082bc2
@ -1,5 +1,5 @@
|
||||
// License: GPLv3 Copyright: 2022, Kovid Goyal, <kovid at kovidgoyal.net>
|
||||
//go:build linux || netbsd
|
||||
//go:build linux || netbsd || openbsd || dragonfly
|
||||
|
||||
package shm
|
||||
|
||||
@ -12,6 +12,7 @@ import (
|
||||
var _ = fmt.Print
|
||||
|
||||
func create_temp(pattern string, size uint64) (MMap, error) {
|
||||
pattern = modify_pattern(pattern)
|
||||
ans, err := os.CreateTemp(SHM_DIR, pattern)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
|
@ -1,40 +0,0 @@
|
||||
// License: GPLv3 Copyright: 2022, Kovid Goyal, <kovid at kovidgoyal.net>
|
||||
|
||||
package shm
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"os"
|
||||
"path/filepath"
|
||||
)
|
||||
|
||||
var _ = fmt.Print
|
||||
|
||||
const SHM_DIR = "/tmp"
|
||||
|
||||
func create_temp(pattern string) (*os.File, error) {
|
||||
ans, err := os.CreateTemp(SHM_DIR, pattern)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return ans, nil
|
||||
}
|
||||
|
||||
func Open(name string) (*os.File, error) {
|
||||
if !filepath.IsAbs(name) {
|
||||
name = filepath.Join(SHM_DIR, name)
|
||||
}
|
||||
ans, err := os.OpenFile(name, os.O_RDONLY, 0)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return ans, nil
|
||||
}
|
||||
|
||||
func Unlink(name string) error {
|
||||
if !filepath.IsAbs(name) {
|
||||
name = filepath.Join(SHM_DIR, name)
|
||||
}
|
||||
return os.Remove(name)
|
||||
|
||||
}
|
16
tools/utils/shm/specific_dragonfly.go
Normal file
16
tools/utils/shm/specific_dragonfly.go
Normal file
@ -0,0 +1,16 @@
|
||||
// License: GPLv3 Copyright: 2022, Kovid Goyal, <kovid at kovidgoyal.net>
|
||||
|
||||
package shm
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
)
|
||||
|
||||
var _ = fmt.Print
|
||||
|
||||
// https://www.dragonflybsd.org/cgi/web-man?command=shm_open§ion=3
|
||||
const SHM_DIR = "/var/run/shm"
|
||||
|
||||
func modify_pattern(pattern string) string {
|
||||
return pattern
|
||||
}
|
@ -9,4 +9,7 @@ import (
|
||||
var _ = fmt.Print
|
||||
|
||||
const SHM_DIR = "/dev/shm"
|
||||
const SHM_NAME_MAX = 1023
|
||||
|
||||
func modify_pattern(pattern string) string {
|
||||
return pattern
|
||||
}
|
||||
|
@ -9,4 +9,7 @@ import (
|
||||
var _ = fmt.Print
|
||||
|
||||
const SHM_DIR = "/var/shm"
|
||||
const SHM_NAME_MAX = 1023
|
||||
|
||||
func modify_pattern(pattern string) string {
|
||||
return pattern
|
||||
}
|
||||
|
21
tools/utils/shm/specific_openbsd.go
Normal file
21
tools/utils/shm/specific_openbsd.go
Normal file
@ -0,0 +1,21 @@
|
||||
// License: GPLv3 Copyright: 2022, Kovid Goyal, <kovid at kovidgoyal.net>
|
||||
|
||||
package shm
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
)
|
||||
|
||||
var _ = fmt.Print
|
||||
|
||||
const SHM_DIR = "/tmp"
|
||||
|
||||
func modify_pattern(pattern string) string {
|
||||
// https://github.com/openbsd/src/blob/master/lib/libc/gen/shm_open.c
|
||||
if strings.Contains(pattern, "*") {
|
||||
pattern += ".shm"
|
||||
} else {
|
||||
pattern += "*.shm"
|
||||
}
|
||||
return pattern
|
||||
}
|
Loading…
Reference in New Issue
Block a user