PGR21.com
이전 질문 게시판은 새 글 쓰기를 막았습니다. [질문 게시판]을 이용바랍니다.
Date 2011/09/17 19:55:46
Name 폭음
Subject 안녕하세요 코딩질문입니다. 무한루프를 제어할 수 있는 방법 있을까요?
pcap 라이브러리에서 패킷캡쳐를 하는 UI를 만들고 있습니다.
사용하는 프로그램은 QT라는 프로그램이고 c++기반입니다.
근데 이 pcap 라이브러리에서 pcap_loop()라는 함수가 있는데요 이게 내부적으로 무한루프를 돌면서 들어오는 패킷을 받습니다.
근데 무한루프라서 그런지 이 함수를 사용하면 ui의 다른 버튼이 다 먹통이 되버리네요..
이것을 해결하기 위해 pthread를 사용하였는데 제가 잘못 사용을 하였는지 여전히 그 함수에서 머무는 것을 반복합니다
(참고로 pcap_loop함수 자체를 바꿀수는 없네요. )
  pthread_t thread1;
   pthread_t thread2;
   pthread_create(&thread2,NULL,test1,NULL);
   pthread_create(&thread1,NULL,pcap_loop,NULL);

   pthread_join(thread2,NULL);
   pthread_join(thread1,NULL);
   exit(0)
처음 사용해봐서 이렇게 쓰는것이 맞는지는 모르겠는데
맞다면 둘다 실행되어야 하는거 아닌가요?
무지한 저를 가르쳐 주세요..
아니면 무한루프를 도는 함수를 제어할 수 있는 또 다른 방법이 있을까요?

통합규정 1.3 이용안내 인용

"Pgr은 '명문화된 삭제규정'이 반드시 필요하지 않은 분을 환영합니다.
법 없이도 사는 사람, 남에게 상처를 주지 않으면서 같이 이야기 나눌 수 있는 분이면 좋겠습니다."
레필리아
11/09/17 20:31
수정 아이콘
먼저 제 의견이 정확한 해답이 아니라는 것을 알려 드립니다.

pthread_t tid;
pthread_attr_t attr;
(.....)
pthread_attr_init(&attr);
pthread_create(&tid, &attr, runner, NULL);
pthread_join(tid, NULL);
(.....)

저와 pthread 사용방법이 조금 다르 시네요. 전 위와 같이 사용했거든요.
근데 아마 본문제 제시하신 방법도 될 것 같긴 한데....

thread2를 먼저 생성 해도 프로그램 실행시에는 thread1이 먼저 생성 후 실행이 될지 thread2가 먼저 생성 후 실행이 될지 모릅니다.
그래서 thread1이 먼저 실행되어 무한루프에 빠지는 것이 아닐지 추측해봅니다.
Cazellnu
11/09/18 00:03
수정 아이콘
스레드로 돌린다고 해서 해결될 문제가 아닐것으로 보입니다.
해당 함수내부에서 작동하는 동작을 봐야 될 문제 같네요
살펴보면 ui를 블락시켜 버리는 이유가 있을겁니다.
그게 아니라면 스레드가 돌고있는데 다른 스레드가 안돈다는게 이해가 안되는 상황이죠.(물론 다른 이유가 없는이상)
안되면 따로 프로세스를 띄워서 써 보시기 바랍니다.
목록 삭게로! 맨위로
번호 제목 이름 날짜 조회
114671 허영무 대박이다. 승률 질문 [10] sad_tears3300 11/09/17 3300
114669 오늘 스타리그 결과 전혀 모르는 상태로 나중에 시청하려면 어찌하면 좋을까요 [16] 한듣보2171 11/09/17 2171
114668 슈퍼스타 k 박솔씨는 어떻게 됐나요? [4] 동네노는아이2383 11/09/17 2383
114667 티읕 쓰는 법 질문 드립니다. [10] 오즈의맙소사4692 11/09/17 4692
114666 안녕하세요 코딩질문입니다. 무한루프를 제어할 수 있는 방법 있을까요? [2] 폭음2262 11/09/17 2262
114665 진에어 스타리그 노래 질문입니다 [2] 비안2277 11/09/17 2277
114664 밸런스가 잘 맞는 게임은? [18] hyde2262728 11/09/17 2728
114663 연애? 질문있습니다 [1] 감사요1558 11/09/17 1558
114662 베스트탑파일이란 사이트 아시나요? [2] V22234 11/09/17 2234
114661 iptime 질문 [4] 발악2244 11/09/17 2244
114660 슈스케3 최영진씨 어떻게 된 지 아시는 분 계신가요? [4] 스트릭랜드2178 11/09/17 2178
114659 박재범씨에 관한 질문입니다 [4] 말보루울트라1919 11/09/17 1919
114658 스마트폰 질문입니다. [1] army1773 11/09/17 1773
114656 혹시 pgr 분들 중에 예전 TV 프로그램 받을 수 있는 곳 아시는 분 계신가요? [4] 레이드1590 11/09/17 1590
114655 아스날 경기에 대한 칼럼/프리뷰/리뷰를 볼 수 있는 사이트가 궁금합니다. [10] airmoo2109 11/09/17 2109
114654 퍼스트드림이라는 재택알바에 대한 질문입니다. [15] 로즈마리2736 11/09/17 2736
114653 적성이라는 게 얼마나 중요할까요. [11] 키둑허허2233 11/09/17 2233
114652 tv에 무선헤드셋 연결하는 방법 [3] 어...3394 11/09/17 3394
114651 깔창 고수님들 계십니까???ㅠㅠ [4] snut2870 11/09/17 2870
114650 야구 유니폼 질문입니다. 고윤하1272 11/09/17 1272
114649 컴퓨터 견적좀 봐주세요~!!! [2] 난초1524 11/09/17 1524
114648 이건 메인보드 불량인가요? [2] 타우τ2029 11/09/17 2029
114647 컴퓨터가 자꾸 멈추네요 흑흑 [3] 유안2088 11/09/17 2088
목록 이전 다음
댓글

+ : 최근 6시간내에 달린 댓글
+ : 최근 12시간내에 달린 댓글
맨 위로