sigio и *Sig

Sergey ShishkinSergey Shishkin
1 min read

Точнее, аж целых две глобальные переменные, использующих лексему “Sig” - сокращение от “сигнал”.

*Sig1, *Sig2 - глобальные переменные, содержащие (возможно, пустые) тела prg, которые будут выполнены при отправке сигнала SIGUSR1 (или сигнала SIGUSR2 соответственно) текущему процессу.

: (de *Sig1 (msg 'SIGUSR1))
-> *Sig1


# First session
: (sigio (setq *SigSock (port T 4444))  # Register signal handler at UDP port
   (while (udp *SigSock)                # Queue all received data
      (fifo '*SigQueue @) ) )
-> 3

# Second session
: (for I 7 (udp "localhost" 4444 I))  # Send numbers to first session

# First session
: (fifo '*SigQueue)
-> 1
: (fifo '*SigQueue)
-> 2

sigio - устанавливает обработчик сигнала prg для SIGIO на файловом дескрипторе cnt. Возвращает файловый дескриптор.

Tstp1 и *TStp2 -глобальные переменные, содержащие (возможно, пустые) тела prg, которые будут выполнены при отправке сигнала SIGTSTP (*TStp1) или сигнала SIGCONT (*TStp2) текущему процессу.

https://picolisp.tiddlyhost.com/#sigio

0
Subscribe to my newsletter

Read articles from Sergey Shishkin directly inside your inbox. Subscribe to the newsletter, and don't miss out.

Written by

Sergey Shishkin
Sergey Shishkin

Всегда чему-то учусь!