[vdr] [PATCH] fix segfault in cSkins::Message

Wolfgang Rohdewald wolfgang at rohdewald.de
Sun Jul 31 19:04:51 CEST 2005


On Sonntag 31 Juli 2005 18:29, Klaus Schmidinger wrote:
> > Does vdr have a way to notice if a background thread accesses the
> > OSD?
> 
> A background thread should never access the OSD directly.

I do understand that. I just think it might be helpful to not
simply say it is forbidden but to enforce it instead of
segfaulting.

Considering the enormous amount of plugins there will always be
some plugin developers trying to do forbidden things and if a
user tells them "sometimes vdr restarts but I have no idea why"
it is almost impossible to debug that.

If you take my original two patches you could do

 void cSkinClassicDisplayMessage::Flush(void)
 {
  if (osd)
         osd->Flush();
  else
	     warn: background thread is not allowed to access osd
 }



Otherwise I believe I understand what you propose and it seems
to be a good solution to me.

-- 
Wolfgang



More information about the vdr mailing list