LINUX.ORG.RU

История изменений

Исправление Dark_SavanT, (текущая версия) :

Вместо кода

while( true ) {
  var=uci_get(.....);
  if( var != old_var ) {
    // do something
  }
  sleep(1);
}

используй ядерную фичу inotify http://man7.org/linux/man-pages/man7/inotify.7.html это позволит сделать следующее: установить на /tmp/.uci хук, который тебе будет возвращать событие в дескриптор в случае если кто-то пишет в файл в этой директории.

Это событие равно тому, что кто-то сделал uci set. тогда и перечитываешь необходимую переменную и если она изменилась, то делаешь свои дела.

Исходная версия Dark_SavanT, :

Вместо кода

while( true ) {
  var=uci_get(.....);
  if( var != old_var ) {
    // do something
  }
}

используй ядерную фичу inotify http://man7.org/linux/man-pages/man7/inotify.7.html это позволит сделать следующее: установить на /tmp/.uci хук, который тебе будет возвращать событие в дескриптор в случае если кто-то пишет в файл в этой директории.

Это событие равно тому, что кто-то сделал uci set. тогда и перечитываешь необходимую переменную и если она изменилась, то делаешь свои дела.