Содержание

send

Синтаксис

void  send(union SIGNAL **sig, PROCESS to);

Описание

Посылает буфер сигнала указанному процессу и заменяет сигнал на NIL в указателе вызывающего процесса, чтоб не допустить повторное использование процесса.
Вызывающий процесс после вызова перестаёт владеть буфером.
(FIXME переадресация сигналов)
Если целевой процесс завершён, сигнал молча уничтожается, вызывающий процесс этого не узнает.

Параметры

Возвращаемое значение

Нет

Ограничения

Вызывающий процесс может достучаться до адресата в одном из следующих случаев:

(FIXME переадресация сигналов)

Пример

#define MYPROCESS_DOSOMETHING 1
struct MYSIG
{                    
    SIGSELECT sig_no;
    char      data;
};
 
union SIGNAL
{
     SIGSELECT sig_no;
     struct MYSIG mysig;
};
 
...
 
union SIGNAL *sig;
 
sig = alloc(sizeof(struct MYSIG), MYPROCESS_DOSOMETHING);
sig->forth.data =’x’;
send(&sig,proc_);

См. также

alloc, free_buf, receive, receive_w_tmo