1
0
mirror of https://github.com/VDR4Arch/vdr.git synced 2023-10-10 13:36:52 +02:00

Made DELETENULL() thread safe

This commit is contained in:
Klaus Schmidinger 2011-08-13 13:38:09 +02:00
parent da8cde8615
commit ff866ef828
3 changed files with 4 additions and 2 deletions

View File

@ -1108,6 +1108,7 @@ Rolf Ahrenberg <rahrenbe@cc.hut.fi>
for adding handling of "ANSI/SCTE 57" descriptors for adding handling of "ANSI/SCTE 57" descriptors
for some input on how to use BER and UNC values to generate a "quality" value for some input on how to use BER and UNC values to generate a "quality" value
for fixing some crashes in subtitle display for fixing some crashes in subtitle display
for reporting that DELETENULL() was not thread safe
Ralf Klueber <ralf.klueber@vodafone.com> Ralf Klueber <ralf.klueber@vodafone.com>
for reporting a bug in cutting a recording if there is only a single editing mark for reporting a bug in cutting a recording if there is only a single editing mark

View File

@ -6682,3 +6682,4 @@ Video Disk Recorder Revision History
- The length (as number of frames) of a recording's index file can now be determined - The length (as number of frames) of a recording's index file can now be determined
by a call to cIndexFile::GetLength() (suggested by Christoph Haubrich). by a call to cIndexFile::GetLength() (suggested by Christoph Haubrich).
- Fixed some crashes in subtitle display (thanks to Rolf Ahrenberg). - Fixed some crashes in subtitle display (thanks to Rolf Ahrenberg).
- Made DELETENULL() thread safe (reported by Rolf Ahrenberg).

View File

@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and * See the main source file 'vdr.c' for copyright information and
* how to reach the author. * how to reach the author.
* *
* $Id: tools.h 2.8 2011/08/12 14:04:00 kls Exp $ * $Id: tools.h 2.9 2011/08/13 13:36:37 kls Exp $
*/ */
#ifndef __TOOLS_H #ifndef __TOOLS_H
@ -45,7 +45,7 @@ extern int SysLogLevel;
#define MALLOC(type, size) (type *)malloc(sizeof(type) * (size)) #define MALLOC(type, size) (type *)malloc(sizeof(type) * (size))
#define DELETENULL(p) (delete (p), p = NULL) template<class T> inline void DELETENULL(T *&p) { T *q = p; p = NULL; delete q; }
#define CHECK(s) { if ((s) < 0) LOG_ERROR; } // used for 'ioctl()' calls #define CHECK(s) { if ((s) < 0) LOG_ERROR; } // used for 'ioctl()' calls
#define FATALERRNO (errno && errno != EAGAIN && errno != EINTR) #define FATALERRNO (errno && errno != EAGAIN && errno != EINTR)