aus der Rubrik, was ich immer schon mal wissen wollte, aber mich nicht zu trauen fragte...
Meine runvdr basiert auf dem template der vdr Sourcen. Es sind keine Treiber eingetragen:
# Detect whether the DVB driver is already loaded
# and return 0 if it *is* loaded, 1 if not:
DriverLoaded()
{
return 1
}
# Load all DVB driver modules needed for your hardware:
LoadDriver()
{
return 0
}
# Unload all DVB driver modules loaded in LoadDriver():
UnloadDriver()
{
return 0
}
# Load driver if it hasn't been loaded already:
if ! DriverLoaded; then
LoadDriver
fi
while (true) do
eval "$VDRCMD"
if test $? -eq 0 -o $? -eq 2; then exit; fi
echo "`date` reloading DVB driver"
$KILL $VDRPRG
sleep 10
UnloadDriver
LoadDriver
echo "`date` restarting VDR"
done
Display More
Wenn ich aus dem vdr-Einstellungsmenü heraus einen vdr-Neustart durchführe, dauert es zwischen dem Beenden von vdr und dem Neustart von vdr teils eine Minute und mehr. Es werden offensichtlich sämtliche DVB-Treiber und ihre abhängigen Module entladen und neu geladen, was aufgrund von Abhängigkeiten naturgemäß dauert. Mir ist aber nicht klar, was diesen Mechanismus auslöst und ob/wie ich ihn abstellen kann.
In der HISTORY finde ich ich diesen schon 22 Jahre alten Vermerk:
Quote- The new Setup item "Restart" can be used to force a complete restart of VDR,
including reloading the driver. Note that this can only work if VDR and the
driver are wrapped into a mechanism that actually performs this action if VDR
exits. The 'runvdr' script can be used for this purpose.
Das deutet darauf hin, dass der Schlüssel doch in der runvdr liegt. Aber wie funktioniert das, wenn kein einziges Treibermodul dort eingetragen ist? Schön wäre es, wenn man bei einem Neustart aus dem OSD heraus wählen könnte, ob nur vdr neu gestartet werden soll (weil man vielleicht ein Plugin in der /etc/vdr/conf.d/plugins.conf ergänzt hat oder ein Plugin mit geänderten Sourcen neu kompiliert hat) oder ob auch ein Treiber-reload erfolgen soll, weil irgendwas klemmt.
Vielleicht kann der Meister kls zur Erhellung beitragen?