fork ... *Fork

Sergey ShishkinSergey Shishkin
1 min read

fork - разветвляет процесс, генерируя дочерний. Возвращает NIL в дочернем процессе и идентификатор дочернего процесса pid в родительском. В дочернем процессе выполняется VAL глобальной переменной *Fork (должен быть prg).

: (unless (fork) (do 5 (println 'OK) (wait 1000)) (bye))
-> NIL
OK                                              # Child's output
: OK
OK
OK
OK

*Fork - глобальная переменная, содержащая (возможно, пустое) тело prg, которое должно быть выполнено после вызова fork в дочернем процессе.

: (push '*Fork '(off *Tmp))   # Clear '*Tmp' in child process
-> (off *Tmp)

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

P.S. Лексема из POSIX! (fork - create a new process)

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

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