Как работает обработка коннектов к сокету в дочерних процессах в workerman?
Изучаю строение библиотеки walkor\workerman и не могу понять как происходит обработка соединений к сокету главного процесса в дочерних.
Как я понял:
- Запускается скрипт, создается "внешний" сокет, который слушает определенный адрес и порт
- Форкаются дочерние процессы
- В дочерних процессах создаются eventloop, которые обрабатывают запрос. (при этом есть возможность отправить во все открытые соединения родительского процесса данные из дочернего)
Не могу понять, как происходит сама связь между родительским процессом и дочерним.
При форке остается дескриптор внешнего сокета, из которого при каждом тике в eventloop помещаются новые открытые соединения?