Главный поток контролирует изменения в хеше %STATUS и выполняет соответствующие действия. Для повышения эффективности работы этого потока необходимо предусмотреть способ передачи ему информации о том, что рабочий поток внес изменения в хеш % STATUS. Наилучший способ состоит в использовании условной переменной. При каждом проходе по циклу главный поток вызывает функцию cond_wait () с указанием условной переменной, переходя в состояние ожидания до тех пор, пока один из рабочих потоков не укажет, что эта переменная изменилась. В коде подпрограммы status предусмотрен вызов подпрограммы cond_broadcast() при внесении каждого изменения в хеш % STATUS рабочим потоком, что приводит к активизации главного потока и дает ему возможность выполнить управленческие функции, связанные с этим изменением.
Еще одной особенностью является то, что для адаптивного сервера должен быть предусмотрен способ корректного останова. Как и прежде, сервер отвечает на сигналы TERM и INT, выполняя останов, но как может главный поток сообщить своим многочисленным рабочим потокам о том, что настало время останова?
В настоящее время не существует способа доставки сигнала конкретному потоку. Для этого предусмотрено, что каждый рабочий поток периодически проверяет равенство своего кода состояния специальному значению “goner” и при выполнении этого условия завершает работу. Для останова рабочего потока главный поток просто вызывает подпрограмму status () для соответствующей установки кода состояния рабочего потока.