Главная страница


ru.unix

 
 - RU.UNIX ----------------------------------------------------------------------
 From : Alexander Pevzner                    2:5020/400     04 Nov 2000  01:47:33
 To : Lev Serebryakov
 Subject : Re: Потеря сигналов
 -------------------------------------------------------------------------------- 
 
 Hello, Lev Serebryakov!
 
 Fri, 03 Nov 2000 22:05:21 +0300 you wrote to Anton Petrusevich:
 
 LS>  AP>> Делай не блокирующий. Блокирующие лучше вообще не делать.
 LS>  LS>>   И спать секунду? Долго -- если сообщения прут пачкой хочется
 LS>  LS>> получать несколько в секунду. Вообще не спать -- члишком
 LS>  LS>> процессор в цикле загрузится.  usleep() везед есть?
 LS>  AP> select точно везде есть. Его можно пользовать, чтоб спать на
 LS>  AP> сколько надо. У меня на 20msec. Загрузка при этом ~0.
 LS>    Хммм... А мы имеем право делать select() на message queue? Hе
 LS>    знал. Спасибо.
 
 Рано благодаришь :-) Селект тебе порекомендовали в качестве
 портабельной задержки на небольшое время: передаешь ему NULL'ы
 вместо всех 3-х fd_set'ов, а в timeout прописываешь желаемую задержку. 
 
 А кстати, нафига тебе message queue? Используй лучше unix domain sockets.
 Они явно менее кривые, и на них можно делать select() :-)
 
 У меня такое чувство, что SysV API везде поддерживается только для
 совместимости, почти никто с ним не работает, и поэтому он толком не
 отлажен. Я наблюдал, как msgrcv() в линухе (2.2.17) не просыпался по
 SIGCHLD, причем сигнал оставался в полудоставленном состоянии, и если на
 программу в таком состоянии напустить strace -p, то именно в этот момент
 она просыпалась и получала свой сигнал.
 
 Кроме того, по моим тестам датаграмные unix domain sockets работали
 быстрее, чем message queue (опять же, в линухе). Hо цифр я не запомнил,
 sorry. 
 
 --
         Wishes, Alexander Pevzner (pzz@pzz.msk.ru)
 --- ifmail v.2.15dev5
  * Origin: Private Node of Alexander Pevzner (2:5020/400)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 Потеря сигналов   Lev Serebryakov   02 Nov 2000 04:07:14 
 Re: Потеря сигналов   Eugene Grosbein   02 Nov 2000 12:16:52 
 Потеря сигналов   Lev Serebryakov   02 Nov 2000 10:57:55 
 Re: Потеря сигналов   Anton Petrusevich   02 Nov 2000 13:17:01 
 Потеря сигналов   Lev Serebryakov   02 Nov 2000 21:18:44 
 Re: Потеря сигналов   Anton Petrusevich   03 Nov 2000 12:47:05 
 Потеря сигналов   Lev Serebryakov   03 Nov 2000 23:05:21 
 Re: Потеря сигналов   Alexander Pevzner   04 Nov 2000 01:47:33 
 Потеря сигналов   Lev Serebryakov   04 Nov 2000 21:44:58 
 Re: Потеря сигналов   Alexander Pevzner   05 Nov 2000 17:10:17 
 Потеря сигналов   Lev Serebryakov   06 Nov 2000 00:10:25 
 Re: =?KOI8-R?B?8M/UxdLR?= =?KOI8-R?B?INPJx87BzM/X?=   Jen Lin\\\'kova   08 Nov 2000 20:24:52 
 Re: Потеря сигналов   Alexander Pevzner   09 Nov 2000 02:21:16 
 Потеря сигналов   Lev Serebryakov   09 Nov 2000 13:50:32 
 Re: Потеря сигналов   Valentin Davydov   07 Nov 2000 12:57:02 
 Re: Потеря сигналов   Anton Petrusevich   04 Nov 2000 12:38:42 
 Re: Потеря сигналов   Valentin Nechayev   02 Nov 2000 23:48:20 
 Потеря сигналов   Lev Serebryakov   03 Nov 2000 02:01:03 
 Re: Потеря сигналов   Valentin Nechayev   03 Nov 2000 14:04:17 
 Потеря сигналов   Lev Serebryakov   03 Nov 2000 23:04:59 
 Re: Потеря сигналов   Mark A Bernadiner   14 Nov 2000 10:59:52 
Архивное /ru.unix/897525c69a7a.html, оценка 1 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional