2013-09-05 5 views
0

나는 방법을 사용하고 있습니다 : :제로));ACE 디버깅 : msg 대기열을 가득 채우는 방법?</p> <p>ACE_Task :: putq (ACE_Message_Block * MB, ACE_Time_Value * TV) 여기 <p></p>는 내가 전화 라인 : ACE_Time_Value RET = putq (MB,에 const_cast (&

내가 기본적으로 시도하고 난에서 일반 오류

EWOULDBLOCK과 ESHUTDOWN을받을 필요가있다

INT lastErr = ACE_OS :: 만약 Last_Error(); 바로 디버깅하기 위해

...

그래서 내 질문은 이러한 오류를 강제하는 방법을 간단한 방법이있다? 동안 (RET> = 0) RET = putq (MB,에 const_cast (& ACE_Time_Value :: MAX_TIME));

나는 이미 시도했습니다

하지만 내 스레드가 몇 통화 후 부착 및 putq에서 절대 반환됩니다 ... 힌트를 사전에

많은 고맙습니다!

피터

내가 첫 번째 부분 (EWOULDBLOCK) 난 그냥 사용할 수 있습니다에 대한 생각

답변

0

:

ACE_Svc_Handler :: msg_queue() -> high_water_mark (MAX_BUF_SIZE_BYTES); ACE_Svc_Handler :: msg_queue() -> low_water_mark (MIN_BUF_SIZE_BYTES);

나는 이것이 내 필요에 부합한다고 생각하고 내가 관찰 한 바를 정확히 내가 필요로한다.

ESHUTDOWN 오류를 부러워하는 것도 또 다른 문제이며, 느리게 수면 방법을 두는 것으로 적절하게 시뮬레이트 할 수 있습니다.