Skip to content

siadat/ipc

Folders and files

NameName
Last commit message
Last commit date
Aug 13, 2017
Nov 29, 2019
Nov 29, 2019
Jul 11, 2020
Aug 13, 2017
Jan 21, 2021
Sep 2, 2021
Nov 29, 2019
Aug 13, 2017
Jan 21, 2021
Nov 29, 2019
Nov 29, 2019
Jan 21, 2021
Jan 21, 2021
Feb 15, 2020
Jan 21, 2021
Jan 21, 2021
Nov 29, 2019
Nov 29, 2019
Nov 29, 2019
Jan 21, 2021
Jan 21, 2021
Dec 18, 2020
Dec 18, 2020
Nov 29, 2019

Repository files navigation

System V message queue IPC functions

Wrapper functions for System V Message Queue IPC.

GoDoc Build Status

Example

package main

import (
	"log"
	"syscall"

	"github.com/siadat/ipc"
)

func main() {
	key, err := ipc.Ftok("/dev/null", 42)
	if err != nil {
		panic(err)
	}

	qid, err := ipc.Msgget(key, ipc.IPC_CREAT|ipc.IPC_EXCL|0600)
	if err == syscall.EEXIST {
		log.Fatalf("queue(key=0x%x) exists", key)
	}
	if err != nil {
		log.Fatal(err)
	}

	msg := &ipc.Msgbuf{Mtype: 12, Mtext: []byte("message")}
	err = ipc.Msgsnd(qid, msg, 0)
	if err != nil {
		log.Fatal(err)
	}
}