파일 open()함수에서 멈추는 현상에 대해 질문있습니다.
printf("set_session_Info() outFileOpen before....\n");
if((out = open(messInfo->outFileName,O_CREAT|O_TRUNC|O_WRONLY,0777))<0)
{
printf("outpout file name [%s]\n",messInfo->outFileName);
printf("output file open fail\n");
return -1;
}
else
{
printf("output file open success,
filename[%s],fd_num[%d]\n",messInfo->outFileName, out);
}
해당 파일을 열어서 열은 fd를 관리 하는 쓰레드가 있고 그안에 위의 구문이 들어있습니다.
그런데 상황에 따라서 out = open(messInfo->outFileName,O_CREAT|O_TRUNC|O_WRONLY,0777)
이부분에서 멈춰버립니다.
그러다가 시간이 한참지나서 진행이 될때두 있구요.
set_session_Info() outFileOpen before.... 이메시지는 출력이되는데 그다음에
file open이 성공했냐 실패했냐가 나오지 않습니다.
위에 말씀드린것처럼 한참있다가 보통 1분정도 있다가 file open success되구요.
왜 그런지 아시는분 계시면 조언좀 부탁드려요
음
파일의 종류가 뭔가요? 로컬 파일인가요? 아님 리모트 파일인가요?
정확히 말씀해주시면 더 도움이 될것 같습니다만.
Dig it.
Dig it.
로컬파일입니다.
로컬파일입니다. 서버에서 위의 프로세스를 기동시켜서 서버에 있는 파일을 읽어드려서 다시 서버에씁니다.
O_TRUNC 옵션은 이미
O_TRUNC 옵션은 이미 파일이 있는 경우 크기를 0으로 만듭니다.
따라 만약 messInfo->outFileName 에 해당하는 파일의 크기가
꽤 크다면 0으로 만드는데 시간일 걸릴 것 같습니다.
---------
간디가 말한 우리를 파괴시키는 7가지 요소
첫째, 노동 없는 부(富)/둘째, 양심 없는 쾌락
셋째, 인격 없는 지! 식/넷째, 윤리 없는 비지니스
이익추구를 위해서라면..
다섯째, 인성(人性)없는 과학
여섯째, 희생 없는 종교/일곱째, 신념 없는 정치
---------
간디가 말한 우리를 파괴시키는 7가지 요소
첫째, 노동 없는 부(富)/둘째, 양심 없는 쾌락
셋째, 인격 없는 지! 식/넷째, 윤리 없는 비지니스
이익추구를 위해서라면..
다섯째, 인성(人性)없는 과학
여섯째, 희생 없는 종교/일곱째, 신념 없는 정치
감사합니다.
말씀하신대로 인거 같습니다. 조언 감사합니다. 많은 도움이 되었습니다.
댓글 달기