In PLUGINS.html steht:
QuoteDisplay MoreHowever, sometimes a plugin may need to do something in the context of the main program thread, without being explicitly called up by the user. In such a case it can implement the function
virtual void MainThreadHook(void);
in which it can do this. This function is called for every plugin once during every cycle of VDR's main program loop, which typically happens once every second.
<b>Be very careful when using this function, and make sure you return from it as soon as possible! If you spend too much time in this function, the user interface performance will become sluggish!</b>
Ich vermute mal, vor der Verfügbarkeit von Locks musste der MainThreadHook von Plugins verwendet werden, die in einem eigenen Thread laufen und z.B. Zugriff auf die globale Timers Tabelle benötigen.
Inzwischen sind ja Locks verfügbar, und da stellt sich mir die Frage, was ein Plugin im "context of the main program thread" machen muss.
Anders gefragt: Könnte ein Plugin alles, was es in MainThreadHook macht, auch einfach in einem eigenen Thread machen? Oder gibt es Situationen, in denen ein Plugin auf den Kontext des "main program thread" angewiesen ist?
~Markus