JM プロジェクトは、主に Linux 関連のマニュアルページの日本語ページを翻訳・公開しています。
... t mq_setattr(mqd_t mqdes , const struct mq_attr * newattr , struct mq_attr * oldattr ); -lrt でリンクする。 説明 mq_getattr () と mq_setattr () は、メッセージキュー記述子 mqdes で参照されるメッセージキューの属性の取得と変更をそれぞれ行う。 mq_get ... gs の O_NONBLOCK フラグの設定だけである。 newattr の他のフィールドは無視される。 oldattr フィールドが NULL 以外の場合、 mq_getattr () が返すのと同じ情報を格納した mq_attr 構造体を oldattr が指すバッファーに入れて返す。 返り値 成功すると、 mq_getattr () ... トがセットされていた。 属性 この節で使用されている用語の説明については、 attributes (7) を参照。 インターフェース 属性 値 mq_getattr (), mq_setattr () Thread safety MT-Safe 準拠 POSIX.1-2001, POSIX.1-2008. 注意 Linux では、 mq_getattr () と mq_setattr () ... ... t mq_setattr(mqd_t mqdes , const struct mq_attr * newattr , struct mq_attr * oldattr ); -lrt でリンクする。 説明 mq_getattr () と mq_setattr () は、メッセージキュー記述子 mqdes で参照されるメッセージキューの属性の取得と変更をそれぞれ行う。 mq_get ... gs の O_NONBLOCK フラグの設定だけである。 newattr の他のフィールドは無視される。 oldattr フィールドが NULL 以外の場合、 mq_getattr () が返すのと同じ情報を格納した mq_attr 構造体を oldattr が指すバッファーに入れて返す。 返り値 成功すると、 mq_getattr () ... トがセットされていた。 属性 この節で使用されている用語の説明については、 attributes (7) を参照。 インターフェース 属性 値 mq_getattr (), mq_setattr () Thread safety MT-Safe 準拠 POSIX.1-2001, POSIX.1-2008. 注意 Linux では、 mq_getattr () と mq_setattr () ... ... int pthread_getattr_np(pthread_t thread , pthread_attr_t * attr ); -pthread でコンパイルしてリンクする。 説明 pthread_getattr_np () 関数は、 a ... 返されたスレッド属性オブジェクトではスレッドの実装がそのスレッドに 割り当てた実際のスタックアドレスが報告される。 pthread_getattr_np () が返したスレッド属性オブジェクトが 必要なくなった際には、 pthread_attr_destroy (3) を使って そのオブジェクトを破棄す ... エラー番号を返す。 エラー ENOMEM メモリーが十分になかった。 さらに、 thread がメインスレッドを参照している場合には、 pthread_getattr_np () は内部で行われる様々な呼び出しでの エラーで失敗する可能性がある。 /proc/self/maps がオープンできない場合には fopen ( ... ... t sched_attr * attr , unsigned int flags ); int sched_getattr(pid_t pid , struct sched_attr * attr , unsigned int size , unsigned int flags ); 説明 sched_setattr() sched_setattr () シス ... 。 flags 引数は、このインターフェースの将来の拡張のために用意されている。 現在の実装では 0 を指定しなければならない。 sched_getattr() sched_getattr () システムコールは、 pid で指定された ID を持つスレッドのスケジューリングポリシーと関連する属性を取得する ... 来の拡張のために用意されている。 現在の実装では 0 を指定しなければならない。 返り値 成功した場合は sched_setattr () と sched_getattr () は 0 を返す。 エラーの場合は -1 が返され、 エラーの原因を示す値が errno に設定される。 エラー sched_getattr () と sched ... ... t sched_attr * attr , unsigned int flags ); int sched_getattr(pid_t pid , struct sched_attr * attr , unsigned int size , unsigned int flags ); 説明 sched_setattr() sched_setattr () シス ... 。 flags 引数は、このインターフェースの将来の拡張のために用意されている。 現在の実装では 0 を指定しなければならない。 sched_getattr() sched_getattr () システムコールは、 pid で指定された ID を持つスレッドのスケジューリングポリシーと関連する属性を取得する ... 来の拡張のために用意されている。 現在の実装では 0 を指定しなければならない。 返り値 成功した場合は sched_setattr () と sched_getattr () は 0 を返す。 エラーの場合は -1 が返され、 エラーの原因を示す値が errno に設定される。 エラー sched_getattr () と sched ... ... ッド属性オブジェクトの初期化を行い、 そのオブジェクトを使ってスレッドを一つ作成する。 作成されたスレッドは、作成後に pthread_getattr_np (3) 関数 (非標準の GNU 拡張) を使ってスレッドの属性を取得し、 取得した属性を表示する。 コマンドライン引数なしでプログラ ... = 0 bytes Stack address = 0x40197000 Stack size = 0x3000000 bytes プログラムのソース #define _GNU_SOURCE /* To get pthread_getattr_np() declaration */ #include < pthread.h > #include < stdio.h > #include < stdlib.h > #include < unistd.h > #include < err ... sStack size = %#zx bytes\n", prefix, v); } static void * thread_start(void *arg) { int s; pthread_attr_t gattr; /* pthread_getattr_np() is a non-standard GNU extension that retrieves the attributes of the thread specified in its first argument */ s = pt ... ... ッド属性オブジェクトの初期化を行い、 そのオブジェクトを使ってスレッドを一つ作成する。 作成されたスレッドは、作成後に pthread_getattr_np (3) 関数 (非標準の GNU 拡張) を使ってスレッドの属性を取得し、 取得した属性を表示する。 コマンドライン引数なしでプログラ ... = 0 bytes Stack address = 0x40197000 Stack size = 0x3000000 bytes プログラムのソース #define _GNU_SOURCE /* To get pthread_getattr_np() declaration */ #include < pthread.h > #include < stdio.h > #include < stdlib.h > #include < unistd.h > #include < err ... sStack size = %#zx bytes\n", prefix, v); } static void * thread_start(void *arg) { int s; pthread_attr_t gattr; /* pthread_getattr_np() is a non-standard GNU extension that retrieves the attributes of the thread specified in its first argument */ s = pt ... ... このシステムコールには glibc のラッパー関数は存在しない。「注意」の節を参照。 説明 このシステムコールを使用しないこと。 mq_getattr (3) と mq_setattr (3) の実装に使用される低レベルのシステムコールである。 このシステムコールがどのように動作するかは mq_set ... 呼び出すこと。 (実のところ、C ライブラリを書いているのでない限り、 決してこのシステムコールを呼び出さないこと!) 関連項目 mq_getattr (3), mq_overview (7) この文書について この man ページは Linux man-pages プロジェクトのリリース 5.10 の一部である。プロジェ ... ... qd_t mqdes = *((mqd_t *) sv.sival_ptr); /* 最大メッセージサイズを決定し、 メッセージ受信用のバッファーを確保する */ if (mq_getattr(mqdes, &attr) == -1) handle_error("mq_getattr"); buf = malloc(attr.mq_msgsize); if (buf == NULL) handle_error("malloc"); n ... &sev) == -1) handle_error("mq_notify"); pause(); /* プロセスはスレッド関数により終了される */ } 関連項目 mq_close (3), mq_getattr (3), mq_open (3), mq_receive (3), mq_send (3), mq_unlink (3), mq_overview (7), sigevent (7) この文書について この man ペー ... ... qd_t mqdes = *((mqd_t *) sv.sival_ptr); /* 最大メッセージサイズを決定し、 メッセージ受信用のバッファーを確保する */ if (mq_getattr(mqdes, &attr) == -1) handle_error("mq_getattr"); buf = malloc(attr.mq_msgsize); if (buf == NULL) handle_error("malloc"); n ... &sev) == -1) handle_error("mq_notify"); pause(); /* プロセスはスレッド関数により終了される */ } 関連項目 mq_close (3), mq_getattr (3), mq_open (3), mq_receive (3), mq_send (3), mq_unlink (3), mq_overview (7), sigevent (7) この文書について この man ペー ... 日本語の文書やマニュアルを配布している個人/プロジェクトへのリンクです。