Аватар для druidich
30 / 30 / 12
Регистрация: 21.05.2012
Сообщений: 448

Познать дзен alarm()

14.01.2013, 18:25. Показов 3999. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
делаю для сигнала SIGALRM обработчик

C++
1
2
3
4
void sigalarm(int pid)
  {
    kill(pid,SIGUSR1);  //    SIGUSR1-у указан др обработчик
  }
в самой программе указываю чтоб при вызове alarm() обрабатывался обработчик
C++
1
signal(SIGALRM,sigalarm);
но почему то при
C++
1
2
3
4
for (i = 0;i<10 ;i++)
    {
             alarm(1); 
        }
не происходит пауза в 1сек и из-за этого рушится вся прога.при slee(1) все работает замечательно.но нужно сделать через alarm()
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
14.01.2013, 18:25
Ответы с готовыми решениями:

Как познать "Дзен" разгона?
Доброго времени суток всем. Не так давно я купил себе старенький комплюхстер специально, чтобы заняться разгоном и познать все эти...

Не могу познать параметры)
Запускается из процедуры П1 процедура П2 с параметрами (А,Б,В) При запуске процедуры пишется П2 (А,Б,В,Г=Истина) Мне нужно добавить...

Python и дзен
Дело в том, что никак не могу привыкнуть к пайтону после строго типизированного C#... А пайтон сейчас очень и очень популярен, и это...

7
Почетный модератор
7393 / 2639 / 281
Регистрация: 29.07.2006
Сообщений: 13,696
14.01.2013, 18:29
Цитата Сообщение от druidich Посмотреть сообщение
не происходит пауза в 1сек
А какая из приведенных функций должна делать паузу (вдруг)?
1
 Аватар для druidich
30 / 30 / 12
Регистрация: 21.05.2012
Сообщений: 448
14.01.2013, 20:37  [ТС]
Vourhey, ой блин.
получается надо стопарнуть цикл чтоб ожидал пока предок завершит обработчик
C++
1
2
3
4
5
for (i = 0;i<10 ;i++)
    {
             alarm(1); 
             while(1)pause(); 
     }
не подскажете как толково реализовать чтоб по завершению предком обработчика kill(pid,SIGUSR1) цикл продолжился ?

Добавлено через 58 минут
реализовал простым флагом
C++
1
2
3
4
5
6
7
   for (i = 0;i<10 ;i++)
    {
 
       alarm(1);
       while(flag==1)pause();      
           flag=1;
    }
а в конце обработчика flag=2;
вроде как работает.но это на вирт машине

Добавлено через 21 минуту
Ошибся) alarm() работает на ура, но не хочет внутри аларма оправлять сигнал дочернему процессу
0
Почетный модератор
7393 / 2639 / 281
Регистрация: 29.07.2006
Сообщений: 13,696
14.01.2013, 22:13
Какой поток...кхм...
Короче, я не увидел четкого описения того, что ты вообще сделать хочешь. Чтобы послать сигнал другому процессу используй kill.
0
 Аватар для druidich
30 / 30 / 12
Регистрация: 21.05.2012
Сообщений: 448
14.01.2013, 22:50  [ТС]
Vourhey, прогу я кое как запустил. остался ток главный вопрос.Заработает ли оно если скомпилировать на старом gcc ,лет эдак 10 вышедшему.И этот вопрос меня оч сильно интрегует
0
Почетный модератор
7393 / 2639 / 281
Регистрация: 29.07.2006
Сообщений: 13,696
14.01.2013, 22:59
Если скомпилируешь - заработает.
0
2 / 2 / 0
Регистрация: 04.11.2012
Сообщений: 47
17.01.2013, 19:19
А какая разница, что ему 10 лет? Стандарты языка ведь не меняются(точнее, я говорю про С99), разве что код, теоретически, может быть хуже оптимизирован. Разве не так?
0
 Аватар для druidich
30 / 30 / 12
Регистрация: 21.05.2012
Сообщений: 448
18.01.2013, 15:43  [ТС]
someone307, немного поменялся. то что у меня с лету скомпилировалось под арчем не хотело компилироваться на той машине(требовалось подключить доп молдули) .
Да и на той тачке планировщик другой(на нов дистрибутивах работает на ура).
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
18.01.2013, 15:43
Помогаю со студенческими работами здесь

Про дзен
Перерыла весь Интернет, но не нашла ни одного дельного совета по удалению этого мерзкого дзена из-за которого Mozilla весит почти 700 МБ....

Познать настройки с базой данных
пример &lt;property name=&quot;maxPoolSize&quot; value=&quot;25&quot; /&gt; &lt;property name=&quot;maxStatements&quot; value=&quot;500&quot; /&gt; &lt;property...

Как познать информатику легче?
Предложите какие способы позволили вам легко, а главное хорошо познать этот предмет?

Компьютер постиг дзен
Здравствуйте, беда началась еще вчера. Я отошел от компьютера, экран погас, как обычно. Когда я вернулся, пошевелил мышью, ничего не...

Хочу постигнуть дзен в C#
У этой вещи есть условия: 2 if, 1 for и 1 рекурсия. На основе ваших идей я постигну в себе дзен. Сделайте, пожалуйста, попроще. Желательно...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Опции темы

Новые блоги и статьи
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru