About WaitForMultipleObjects(...) & WAIT_TIMEOUT
От: assm-spb Россия  
Дата: 23.09.04 11:36
Оценка:
Подскажите, плиз...
Есть, условно, код:
...
HANDLE h[2];
dwResult = WaitForMultipleObjects(2, &h[0], FALSE, 512);
...

У меня иногда происходит так, что после вызова функции возврат из нее происходит через 1-4 сек.
Причем, dwResult равен WAIT_OBJECT_x (сразу говорю, что не WAIT_FAILED или WAIT_TIMEOUT — это
все отлавливается).
Может ли быть такое в принципе, или у меня глюки. А то я целую неделю уже разбираюсь.
С уважением. Александр.
Re: About WaitForMultipleObjects(...) & WAIT_TIMEOUT
От: Кодт Россия  
Дата: 23.09.04 12:27
Оценка:
Здравствуйте, assm-spb, Вы писали:

AS>Есть, условно, код:

AS>
AS>...
AS>HANDLE h[2];
AS>dwResult = WaitForMultipleObjects(2, &h[0], FALSE, 512);
AS>...
AS>

AS>У меня иногда происходит так, что после вызова функции возврат из нее происходит через 1-4 сек.
AS>Причем, dwResult равен WAIT_OBJECT_x (сразу говорю, что не WAIT_FAILED или WAIT_TIMEOUT — это
AS>все отлавливается).

Значит, он чего-то из содержимого массива h дождался
Другое дело, что ты не инициализируешь этот массив, и он содержит мусор (судя по приведённому коду)
Перекуём баги на фичи!
Re[2]: About WaitForMultipleObjects(...) & WAIT_TIMEOUT
От: Кодт Россия  
Дата: 23.09.04 12:29
Оценка:
Пардон, стормозил.
Там полсекундный таймаут, а он просыпается через 1-4 секунды.
Может быть, в это время какой-то высокоприоритетный поток работал, поэтому твой поток перешёл из состояния "жду" не в "поехали", а только в "готов".
Перекуём баги на фичи!
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.