JM プロジェクトは、主に Linux 関連のマニュアルページの日本語ページを翻訳・公開しています。
... nction causing exception */ double arg1; /* 1st argument to function */ double arg2; /* 2nd argument to function */ double retval; /* Function return value */ } type フィールドは以下の値のいずれかである。 DOMAIN 領域エラー (domain error) が発生した (関 ... 用されていない。 フィールド arg1 と arg2 は関数に渡された引数である (引数を一つしか取らない関数の場合は arg2 は不定となる)。 retval フィールドはその数学関数が呼び出し元に返そうとしている返り値 を示す。プログラマが定義した matherr () でこのフィールドを変更 ... び出される状況の一覧である。 "Type" 列 は matherr () が呼び出される際に exc->type に 設定される値を示す。 "Result" 列は exc->retval に 設定されるデフォルトの返り値を示す。 "Msg?" 列と "errno" 列は matherr () が 0 を返した場合のデフォルトの 動作を示す。 " ... ... レッドがすでに終了している場合、 pthread_join () はすぐに返る。 thread で指定されたスレッドは join 可能でなければならない。 retval が NULL でない場合、 pthread_join () は対象スレッドの終了ステータス (すなわち、対象スレッドが pthread_exit (3) に渡した値) ... を retval が指す場所にコピーする。対象スレッドがキャンセルされた場合、 retval が指す場所には PTHREAD_CANCELED が格納される。 複数のス ... ... < string.h > #include < sys/socket.h > int main(void) { #define VLEN 10 #define BUFSIZE 200 #define TIMEOUT 1 int sockfd, retval; struct sockaddr_in addr; struct mmsghdr msgs[VLEN]; struct iovec iovecs[VLEN]; char bufs[VLEN][BUFSIZE+1]; struct timespe ... ZE; msgs[i].msg_hdr.msg_iov = &iovecs[i]; msgs[i].msg_hdr.msg_iovlen = 1; } timeout.tv_sec = TIMEOUT; timeout.tv_nsec = 0; retval = recvmmsg(sockfd, msgs, VLEN, 0, &timeout); if (retval == -1) { perror("recvmmsg()"); exit(EXIT_FAILURE); } printf("%d me ... ssages received\n", retval); for (int i = 0; i < retval; i++) { bufs[i][msgs[i].msg_len] = 0; printf("%d %s", i+1, bufs[i]); } exit(EXIT_SUCCESS); } ... ... ys/socket.h > int main(void) { int sockfd; struct sockaddr_in addr; struct mmsghdr msg[2]; struct iovec msg1[2], msg2; int retval; sockfd = socket(AF_INET, SOCK_DGRAM, 0); if (sockfd == -1) { perror("socket()"); exit(EXIT_FAILURE); } addr.sin_family = ... g[0].msg_hdr.msg_iov = msg1; msg[0].msg_hdr.msg_iovlen = 2; msg[1].msg_hdr.msg_iov = &msg2; msg[1].msg_hdr.msg_iovlen = 1; retval = sendmmsg(sockfd, msg, 2, 0); if (retval == -1) perror("sendmmsg()"); else printf("%d messages sent\n", retval); exit(0); ... ... nclude < pthread.h > int pthread_tryjoin_np(pthread_t thread , void ** retval ); int pthread_timedjoin_np(pthread_t thread , void ** retval , const struct timespec * abstime ); -pthread を付けてコンパ ... ある。 pthread_tryjoin_np () 関数は、スレッド thread の非停止 (nonblocking) での join を実行し、スレッドの終了ステータスを *retval に入れて返す。 thread がまだ終了していない場合は、 pthread_join (3) のように停止 (block) せずに、エラーを返す。 The pthrea ... ... nclude < pthread.h > int pthread_tryjoin_np(pthread_t thread , void ** retval ); int pthread_timedjoin_np(pthread_t thread , void ** retval , const struct timespec * abstime ); -pthread を付けてコンパ ... ある。 pthread_tryjoin_np () 関数は、スレッド thread の非停止 (nonblocking) での join を実行し、スレッドの終了ステータスを *retval に入れて返す。 thread がまだ終了していない場合は、 pthread_join (3) のように停止 (block) せずに、エラーを返す。 The pthrea ... ... 説明 pthread_exit () 関数は、呼び出したスレッドを終了し、 retval 経由で値を返す。この値は (そのスレッドが join 可能な場合に) pthread_join (3) を呼び出した同じプロセス内の別のスレッドが参照 ... 。 他のスレッドが実行を継続できるように、メインスレッドは exit (3) では なく pthread_exit () を呼び出して終了すべきである。 retval が指す値は、呼び出したスレッドのスタックに置くべきではない。 呼び出したスレッドが終了した後は、そのスタックの内容が不定とな ... ... include < sys/time.h > #include < sys/types.h > #include < unistd.h > int main(void) { fd_set rfds; struct timeval tv; int retval; /* stdin (fd 0) を監視し、入力があった場合に表示する。*/ FD_ZERO(&rfds); FD_SET(0, &rfds); /* 5 秒間監視する。*/ tv.tv_se ... c = 5; tv.tv_usec = 0; retval = select(1, &rfds, NULL, NULL, &tv); /* この時点での tv の値を信頼してはならない。*/ if (retval == -1) perror("select()"); ... else if (retval) printf("今、データが取得できました。\n"); /* FD_ISSET(0, &rfds) が true になる。*/ else printf("5 秒以内にデータが入力され ... ... include < sys/time.h > #include < sys/types.h > #include < unistd.h > int main(void) { fd_set rfds; struct timeval tv; int retval; /* stdin (fd 0) を監視し、入力があった場合に表示する。*/ FD_ZERO(&rfds); FD_SET(0, &rfds); /* 5 秒間監視する。*/ tv.tv_se ... c = 5; tv.tv_usec = 0; retval = select(1, &rfds, NULL, NULL, &tv); /* この時点での tv の値を信頼してはならない。*/ if (retval == -1) perror("select()"); ... else if (retval) printf("今、データが取得できました。\n"); /* FD_ISSET(0, &rfds) が true になる。*/ else printf("5 秒以内にデータが入力され ... ... include < sys/time.h > #include < sys/types.h > #include < unistd.h > int main(void) { fd_set rfds; struct timeval tv; int retval; /* stdin (fd 0) を監視し、入力があった場合に表示する。*/ FD_ZERO(&rfds); FD_SET(0, &rfds); /* 5 秒間監視する。*/ tv.tv_se ... c = 5; tv.tv_usec = 0; retval = select(1, &rfds, NULL, NULL, &tv); /* この時点での tv の値を信頼してはならない。*/ if (retval == -1) perror("select()"); ... else if (retval) printf("今、データが取得できました。\n"); /* FD_ISSET(0, &rfds) が true になる。*/ else printf("5 秒以内にデータが入力され ... 日本語の文書やマニュアルを配布している個人/プロジェクトへのリンクです。