From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.1 (2015-04-28) on sa.local.altlinux.org X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00 autolearn=ham autolearn_force=no version=3.4.1 Date: Fri, 14 Jun 2019 10:12:45 +0200 From: Alexey Gladkov To: make-initrd@lists.altlinux.org Message-ID: <20190614081245.GA8901@Legion-PC.fortress> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit X-Mailman-Approved-At: Fri, 14 Jun 2019 11:16:55 +0300 Subject: [make-initrd] Update X-BeenThere: make-initrd@lists.altlinux.org X-Mailman-Version: 2.1.12 Precedence: list Reply-To: make-initrd@lists.altlinux.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 14 Jun 2019 08:12:53 -0000 Archived-At: List-Archive: Привет! Я тут переписал ueventd от слова совсем и как следствие изменились и эвенты и их обработка. ueventd теперь работает немного сложнее: * Очередей может быть несколько. Их можно создавать и удалять динамически. * Эвенты в каждой очереди обрабатываются последовательно в блокирующем режиме т.е. пока текущий обработчик не завершится следующий вызван не будет. * Эвенты в разных очередях обрабатываются параллельно. * Эвенты - это всегда файл с значениями вида 'NAME="VALUE"\n'. Сервер обрабатывает эвенты используя обработчики. Они могут быть написаны либо на shell, либо на lua (меня отговорили от schema). Для второго случая действует правило: один файл => один обработчик. В lua-файле должна быть функция main, которая будет вызвана для каждого эвента. Обработчики можно добавлять/удалять динамически. При вызове обработчика эвенты читаются и передаются через переменные окружения. Соответственно, поменялись все обработчики. В фиче network каждый интерфейс обрабатывается параллельно. На моих тестах я получил прирост к скорости, но буду благодарен за дополнительное тестирование. -- Rgrds, legion