![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
Разобрался наконец, как в solaris 10 реализуется hotplug USB-устройств (в чем по результатам двух предыдущих постов на эту тему никто из читателей данного журнала не мог мне помочь).
Есть там такой сервис sysevent (соответственно демоны syseventd и syseventconfd и к ним утилита syseventadm)
В родных скриптах от OpenCT это делается так:
в скрипте openct-fabric который является скриптом управления сервисом и ставится в /lib/svc/method при старте делается
А при stop соответсвенно
Логика примерно понятна - чтобы если сервис openct остановлен, зря не дергали hotplug-скрипт.
Засада в том, что это не работает. Внимательное чтение man syseventd на свежую голову в понедельник утром (в пятницу вечером я этого там не нашел) привела к нахождению там следующего абзаца.
В скрипте этого НЕ ДЕЛАЕТСЯ. Стоило добавить - заработало.
Вот теперь сижу и думаю - то ли в более древних версиях solaris оно по-другому себя вело и при добавлении-удалении хэндлера делало рестарт автоматически, то-ли этот скрипт вообще никто не тестировал.
Впрочем, в openct-hotplug тоже была обнаружена ошибка. Там openct-control attach вызывается с совсем неправильными параметрами.
А багзилла у openct без регистрации постить баги не позволяет, а регистрация на сайте не работает.
Есть там такой сервис sysevent (соответственно демоны syseventd и syseventconfd и к ним утилита syseventadm)
В родных скриптах от OpenCT это делается так:
в скрипте openct-fabric который является скриптом управления сервисом и ставится в /lib/svc/method при старте делается
syseventadm add куча-всяких-условий ${prefix}/sbin/openct-hotplug '${di.path}'
А при stop соответсвенно
syseventadm remove то же самое
Логика примерно понятна - чтобы если сервис openct остановлен, зря не дергали hotplug-скрипт.
Засада в том, что это не работает. Внимательное чтение man syseventd на свежую голову в понедельник утром (в пятницу вечером я этого там не нашел) привела к нахождению там следующего абзаца.
The syseventadm restart command informs the syseventd daemon to reread the sysevent registry after a change has been made by adding or removing one or more sysevent handler specifi- cations.
В скрипте этого НЕ ДЕЛАЕТСЯ. Стоило добавить - заработало.
Вот теперь сижу и думаю - то ли в более древних версиях solaris оно по-другому себя вело и при добавлении-удалении хэндлера делало рестарт автоматически, то-ли этот скрипт вообще никто не тестировал.
Впрочем, в openct-hotplug тоже была обнаружена ошибка. Там openct-control attach вызывается с совсем неправильными параметрами.
А багзилла у openct без регистрации постить баги не позволяет, а регистрация на сайте не работает.