본문 바로가기

Linux

msgget()

새로운 메시지 큐를 만들기 위해서 또는 존재하는 큐에 접근하기 위해서 msgget() 시스템 호출이 사용된다.

prototype : int msgget(key_t key, int msgflg);
return :
성공시 : 성공시 메시지 큐의 확인자
실패시
EACCESS(접근 권한 없음), EEXIST(큐가이미존재), EIDRM(큐에삭제표시가되있음), ENOENT(큐가존재안함), ENOMEM(큐만들기에메모리부족), ENOSPC(최대큐의갯수 초과)

IPC_CREAT : 커널 안에 존재하는 지를 확인한 후에 큐를 만든다
IPC_EXCL : IPC_CREAT가 사용될 때, 큐가 이미 존재하면 실패 처리한다.


(example)
int open_queue(key_t keyval)
{
    int qid;
    if((qid = msgget(keyval, IPC_CREAT | 0660)) == -1)
        return -1;

    return gid;
}

'Linux' 카테고리의 다른 글

7일전 자료 삭제하기  (0) 2013.09.26
backup 백업  (0) 2013.09.26
ftok()  (0) 2013.09.26
About NFS(Network file system)  (0) 2013.09.26
About samba server (삼바 서버)  (0) 2013.09.26