새로운 메시지 큐를 만들기 위해서 또는 존재하는 큐에 접근하기 위해서 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;
}
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 |