IPC с помощью сигналов

Тема в разделе "WASM.UNIX", создана пользователем pluton, 20 мар 2008.

  1. pluton

    pluton New Member

    Публикаций:
    0
    Регистрация:
    8 фев 2007
    Сообщения:
    66
    Адрес:
    Odessa
    привет!
    необходимо сделать простое IPC с помощью сигналов, изза этого возникает вопрос - как-то возможно передать обработчику дополнительные данные о сигнале?
    это не надо, если бы сигналов было много, но так юзерских доступно всего два SIGUSR.
    спасибо
     
  2. Mika0x65

    Mika0x65 New Member

    Публикаций:
    0
    Регистрация:
    30 июл 2005
    Сообщения:
    1.384
    Использовать общую память? Метод чреватый, но если никто лучше не предложит...
     
  3. pluton

    pluton New Member

    Публикаций:
    0
    Регистрация:
    8 фев 2007
    Сообщения:
    66
    Адрес:
    Odessa
    то есть в shmem передавать параметры?
    значит, в самих сигналах нет возможности передавать параметры?
     
  4. rei3er

    rei3er maxim

    Публикаций:
    0
    Регистрация:
    15 янв 2007
    Сообщения:
    917
    Адрес:
    minsk
    pluton
    использовать SA_SIGINFO при вызове sigaction()
    тогда сигнатура обработчика будет иметь вид
    Код (Text):
    1. void hadler(int signal, siginfo_t * info, void * context);
    man 2 sigaction
    генерировать сигнал нужно через sigqueue()
    man 2 sigqueue
    размер передаваеммых данных ограничен sizeof(void*) байтами