Wrapper functions for System V Message Queue IPC.
package main
import (
"log""syscall""github.com/siadat/ipc"
)
funcmain() {
key, err:=ipc.Ftok("/dev/null", 42)
iferr!=nil {
panic(err)
}
qid, err:=ipc.Msgget(key, ipc.IPC_CREAT|ipc.IPC_EXCL|0600)
iferr==syscall.EEXIST {
log.Fatalf("queue(key=0x%x) exists", key)
}
iferr!=nil {
log.Fatal(err)
}
msg:=&ipc.Msgbuf{Mtype: 12, Mtext: []byte("message")}
err=ipc.Msgsnd(qid, msg, 0)
iferr!=nil {
log.Fatal(err)
}
}