mq_open 예제

다른 POSIX IPC 오픈 함수와 마찬가지로 mq_open()에는 oflag 및 모드 매개 변수가 모두 포함됩니다. 또한 네 번째 매개 변수(attr)는 메시지 크기 또는 큐 용량과 같은 메시지 큐에 대한 특성을 지정하는 데 사용됩니다. mq_open() 호출에는 정확히 2개 또는 4개의 매개 변수가 있어야 합니다. 새 메시지 큐를 만들 때 모드 및 attr 매개 변수를 모두 포함해야 합니다. 기존 메시지 큐에 대한 연결을 열 때 이러한 매개 변수는 모두 생략됩니다. 메시지 큐를 설정할 때 시스템 기본값을 사용하려면 NULL을 mq_open()에 네 번째 매개 변수로 전달합니다. 다음 코드 코드 조각은 쓰기를 위한 메시지 큐를 만들고 간단한 메시지를 보냅니다. mq_open 함수는 POSIX 큐를 여는 것입니다. 첫 번째 매개 변수는 위의 이전 단락에 설명된 큐 이름을 지정합니다. 두 번째 매개 변수는 메시지를 수신하기 위한 O_RDONLY, 메시지를 보내기 위한 O_WRONLY, 큐에서 의 송신 및 수신 작업에 대한 O_RDWR이 될 수 있는 플래그입니다. 이 플래그에 더 많은 값이 OR`ed일 수 있습니다. O_NONBLOCK을 지정하여 비차단 모드에서 큐를 사용할 수 있습니다.

기본적으로 mq_send는 큐가 가득 찼을 때 차단되고 mq_receive는 큐에 메시지가 없는 경우 차단합니다. 그러나 O_NONBLOCK이 oflag에 지정되면 해당 경우 errno가 EAGAIN로 설정된 즉시 호출이 반환됩니다. 프로그램이 빈 큐에 쓴 후 큐가 비어 있는 큐에서 비빈으로 전환되었다는 신호가 표시되었습니다. 예제 프로그램이 실행되는 두 번째 시간, 다음이 생성되어야 합니다: mq_open() 함수가 실패하면 errno가 다음 값 중 하나로 설정될 수 있습니다. mq_open 호출이 성공하면 메시지 큐 설명자가 반환됩니다. 메시지 큐 설명자는 큐에 대한 후속 호출에 사용할 수 있습니다. gcc queue_example_threads.c-o queue_example_threads -lrt-lpthread를 컴파일하여 위의 것을 컴파일합니다. 시스템 V 메시지 큐는 더 작은 함수 집합을 사용하지만 기능이 적습니다. msgget()은 POSIX mq_open() 함수와 동일한 시스템 V입니다.

시스템 V IPC 개체는 key_t 정수 값으로 식별됩니다. 키를 설정하기 위한 두 가지 표준 방법은 ftok()를 사용하여 고유 키를 생성하거나 IPC_PRIVATE을 msgget() (고유 키를 보장)에 전달하는 것입니다. 또한 msgget()에 대한 다른 매개 변수와 관련하여 주의해야 할 세 가지 사항이 있습니다: mq_open() 함수는 이름으로 참조되는 메시지 큐를 열고 나중에 큐를 참조할 수 있는 메시지 큐 설명기를 반환합니다. 이 플래그를 지정하면 mq_open() 세 번째 및 네 번째 매개변수가 검사됩니다(아래 모드 및 attr 참조).

記事を見てくれてありがとうございます!

弊社で運営しているのは在籍するお店の紹介『JANEL』、キャバクラの派遣『Jewels』、ヘアメイクさんの派遣『JOENN』。
関東全域、大阪、名古屋の1500店舗以上をご紹介できます。

  • ・お店探しで苦労してきたという方
  • ・自分のベストな働き方がわからないという方
  • ・未経験でなにもわからないという方

今のあなたに合った働き方をご提案させていただきます!

お気軽にJANELまでご相談ください。ラインでも対応できます。

未分類
稼ぎたい貴女をナイトワークのプロが徹底サポート 完全自由出勤×全額日払い 【全額日払い】簡単にヘアメイクのお仕事ができちゃいます!

ジャネルとは

ジャネルとは

ナイトワーク、水商売のお仕事を専門にご紹介しております!
東京、埼玉、千葉、神奈川の関東圏はもちろん、大阪、名古屋なども対応しています。

・お店探しで苦労してきたという方
・自分のベストな働き方わからないという方
・未経験でなにもわからないという方

そんな方は是非一度ご相談ください。 貴女目線で、本当に貴女に合った働き方をご提案します。

失敗しないお店選びをするために必要なのは【正しい知識】と【正しい判断】です。 「JANELと出会って人生変わった!」 そう言ってもらえるような仕事を目指しています。

Category/カテゴリー