スレッドの作成について(pthread_create関数)
以下のプログラムをLinuxで実行するとpthread_create関数の戻り値が『1』となり、errno変数には『4』が入ってしまいます。(どちらにも『0』が入っててほしい)
何がやりたいのかというと、子スレッドのプライオリティを優先指定にして、子スレッドが生成されることを確認したいだけなのですが。。。
(下のプログラムじゃきっと本質的には確認できたことにはならないとおもいますが。。。)
何故pthread_create関数の戻り値が『1』となり、errno変数には『4』が入ってしまうかわかる方、どなたかご教授願えませんでしょうか?
-------------------------------ここから-------------------------------
#include <pthread.h>
#include <errno.h>
void *test2( void * );
int main ( int argc, char **argv )
{
int iThCreateRes=0;
pthread_attr_t t_attr;
int bRet=0;
pthread_t szThreadHandle;
errno = 0;
pthread_attr_init( &t_attr );
pthread_attr_setdetachstate( &t_attr, PTHREAD_CREATE_JOINABLE );
pthread_attr_setschedpolicy( &t_attr,SCHED_RR );
pthread_attr_setinheritsched( &t_attr, PTHREAD_EXPLICIT_SCHED );
pthread_attr_setscope( &t_attr, PTHREAD_SCOPE_PROCESS );
iThCreateRes = pthread_create( &szThreadHandle, &t_attr, test2, (void *)777 );
if( iThCreateRes == 0 )
{
}
return ( bRet );
}
void *test2( void *iParam )
{
return (void*)0;
}
-------------------------------ここまで-------------------------------
お礼
ありがとうございます。 たどれました。