pthread_create 인자에 대해
글쓴이: tatchi / 작성시간: 화, 2011/04/26 - 2:42오후
pthread_create 함수에 전달하는 인자에 대해 질문 드립니다.
아시다시피 pthread_create 함수의 원형은 다음과 같습니다.
int pthread_create(pthread_t *thread, pthread_attr_t *attr, void *(*func)(void *), void *arg);
이 때 마지막 arg에 대한 질문입니다.
arg에
char* name = (char*)malloc ( sizeof(char) * 10 );
로 선언한 인자를 넣을 땐, 함수 func 내에서 인자의 첫 10 글자 정도가 깨져서 들어옵니다.
하지만 arg에
char name[10];
로 선언한 인자를 넣을 땐 깨짐 현상이 없습니다.
참고로 pthread_create 함수는 다음과 같이 불렀습니다.
pthread_create ( &new_th, &attr, name_func, (void*)name );
사실 전부 깨지는 것도 아니고 첫 몇 글자만 깨지는 현상이 발생하니 원인을 알아내기가 힘드내요.
끙끙거리다가 이렇게 질문드립니다.
정보가 충분하지 않다면 댓글로 질문주세요. 답변드리겠습니다.
감사합니다!
Forums:
댓글 달기