diff options
author | Klaus Schmidinger <vdr@tvdr.de> | 2001-08-12 15:22:48 +0200 |
---|---|---|
committer | Klaus Schmidinger <vdr@tvdr.de> | 2001-08-12 15:22:48 +0200 |
commit | 000ce0cf21f0eb8eb79156efdd9df615f06ce5f5 (patch) | |
tree | 9610a1ba686f7e1249709bd73a9a3ef4ee317b10 /recording.c | |
parent | 0ac6edbfc6a4128bc48372a2c913cc694f6a10eb (diff) | |
download | vdr-000ce0cf21f0eb8eb79156efdd9df615f06ce5f5.tar.gz vdr-000ce0cf21f0eb8eb79156efdd9df615f06ce5f5.tar.bz2 |
Made I/O more robust by handling EINTR0.9.1
Diffstat (limited to 'recording.c')
-rw-r--r-- | recording.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/recording.c b/recording.c index ddca1a4b..0190d108 100644 --- a/recording.c +++ b/recording.c @@ -4,7 +4,7 @@ * See the main source file 'vdr.c' for copyright information and * how to reach the author. * - * $Id: recording.c 1.32 2001/06/16 10:33:20 kls Exp $ + * $Id: recording.c 1.33 2001/08/12 15:09:59 kls Exp $ */ #define _GNU_SOURCE @@ -141,7 +141,7 @@ int cResumeFile::Read(void) if (fileName) { int f = open(fileName, O_RDONLY); if (f >= 0) { - if (read(f, &resume, sizeof(resume)) != sizeof(resume)) { + if (safe_read(f, &resume, sizeof(resume)) != sizeof(resume)) { resume = -1; LOG_ERROR_STR(fileName); } @@ -158,7 +158,7 @@ bool cResumeFile::Save(int Index) if (fileName) { int f = open(fileName, O_WRONLY | O_CREAT | O_TRUNC, S_IRUSR | S_IWUSR | S_IRGRP | S_IROTH); if (f >= 0) { - if (write(f, &Index, sizeof(Index)) != sizeof(Index)) + if (safe_write(f, &Index, sizeof(Index)) != sizeof(Index)) LOG_ERROR_STR(fileName); close(f); return true; @@ -243,7 +243,7 @@ cRecording::cRecording(const char *FileName) int size = buf.st_size; summary = new char[size + 1]; // +1 for terminating 0 if (summary) { - int rbytes = read(f, summary, size); + int rbytes = safe_read(f, summary, size); if (rbytes >= 0) { summary[rbytes] = 0; if (rbytes != size) |