리눅스 쓰레드 질문입니다

khj776의 이미지

따로 소스코드는 올리지않겠습니다.
말그대로 기본적인 쓰레드 테스트인데

state=pthread_create(&t_id, NULL, thread_function, NULL);
물론 책에 나와 있는 내용중에 하나입니다.
이상한점은 저희집리눅스로 테스트 해보니까
t_id값이 마이너스가 나옵니다.
그러면서 에러는 나오지 않고
제가 알기론 t_id값은 생성된 쓰레드id값인데 ...
텔넷으로 다른컴퓨터에서 실행해보니.. 양수값이 나오네요..
저희집 리눅스만 이러는데 왜이러는지.
혹시 아시는분 있으시면 답변 부탁드립니다.

ftfuture의 이미지

제 우분투 박스롤 찾아보니..

bits/pthreadtypes.h:typedef unsigned long int pthread_t;

이렇게 되어있는데요..
혹시 printf("%d", thread_id) 이렇게 찍지 않으셨어요?
printf("%lu", thread_id) 이렇게 해야 제대로 나올것 같습니다..
khj776의 이미지

답변감사합니다.^^
확인해보니 정말...ㅠㅠ
이 간단한걸 왜 생각 못했는지..ㅋㅋ