VDR developer version 2.3.6 is now available at


A 'diff' against the previous version is available at


MD5 checksums:

eab982df03da492a7d263718a8c487c2  vdr-2.3.6.tar.bz2
84a53afa495740bfdf9aab4b8900df99  vdr-2.3.5-2.3.6.diff


This is a *developer* version. Even though *I* use it in my productive
environment, I strongly recommend that you only use it under controlled
conditions and for testing and debugging.

The changes since version 2.3.5:

- Added backtrace functions for debugging (see cBackTrace in thread.h).
- Added checking the correct sequence of locking global lists (with help and
  suggestions from Jasmin Jessich). At the first occurrence of an invalid 
  sequence, the 20 most recent locks will be written to the log file, followed 
by a
  backtrace that led to the call in question. This code can be activated by 
  the macro DEBUG_LOCKSEQ in thread.c (which is on by default).
  When debugging an actual invalid locking sequence, you can additionally define
  the macro DEBUG_LOCKCALL in thread.c, which will add information about the 
  of each lock. Note that this may cause some stress on the CPU, therefore it 
is off
  by default.
- The file Make.config.template now reacts on DEBUG=1 in the 'make' command 
  and disables code optimizations by setting -O0 (thanks to Jasmin Jessich).
  This can be helpful when backtracing highly optimized code. You may want to
  'make distclean' before running 'make' with a modified setting of DEBUG, to 
  sure all object files are newly compiled.
- Fixed the locking sequence when dumping EPG data.
- Fixed the locking sequence when starting a recording.
- The Makefiles now use the macro $(Q) instead of a plain '@' in front of their
  commands, so that verbosity can be controlled by the user (suggested by Jasmin
  Jessich). Add VERBOSE=1 to the 'make' call in the VDR source directory to see 
  actual commands that are executed.
  Plugin authors should modify their makefiles accordingly, by simply preceeding
  the respective commands with '$(Q)' and inserting '@echo XX $@' (where XX is 
  of the character combinations listed in the release note for version 2.3.5) 
  the command.
  The newplugin script has also been modified accordingly.
  Note that if you build a plugin directly in the plugin's own source directory,
  the $(Q) macro won't be defined and commands will be displayed. You can add
  Q=@ to the make call to have it less verbose (provided the plugin's Makefile
  was modified as described above).
- Added clearing CiResourceHandlers before shutting down the plugin manager.
- Fixed a double channel switch when pressing the Channel+/- keys while no menu
  or channel display is open.
- Fixed generating k_Release key events for LIRC remote controls (due to the 
  timeout another normal key was sometimes put into the queue after the 
  release). Also removed some code redundancy and added some buffer checks.
- Now using a separate mutex to fix the race between SVDRP CHAN and
  cDevice::HasProgramme(), because the previous fix caused a deadlock (reported 
  Derek Kelly).
- Fixed a possible crash in case the SVDRP connection to a peer VDR is 
  while getting remote timers.
- Fixed the locking sequence when creating a new timer from the Schedules menu.
- Fixed the locking sequence when switching between 'Now', 'Next' and 'Schedule'
  in the Schedules menu.

Have fun!


vdr mailing list

Reply via email to