#ifdef HAVE_OPENLOCK
return open (path, O_RDONLY | O_SHLOCK);
#else
-// assert (0);
- int fd;
- fd = open (path, O_RDONLY);
- flock (fd, LOCK_SH);
- return fd;
+ if (open (path, O_RDONLY)) {
+ flock (fd, LOCK_SH);
+ return true;
+ } else {
+ return false;
+ }
#endif
};
virtual bool openWrite (const char* path) {
#ifdef HAVE_OPENLOCK
return open (path, O_WRONLY | O_CREAT | O_APPEND | O_EXLOCK, 0666);
#else
-// assert (0);
- int fd;
- fd = open (path, O_WRONLY | O_CREAT | O_APPEND, 0666);
- flock (fd, LOCK_EX);
- return fd;
+ if (open (path, O_WRONLY | O_CREAT | O_APPEND, 0666)) {
+ flock (fd, LOCK_EX);
+ return true;
+ } else {
+ return false;
+ }
#endif
};
virtual void close () {
virtual ssize_t write (const void* buf, size_t n) {
return ::write (fd, buf, n);
};
+ virtual off_t seekTo (off_t offset) {
+ return lseek (fd, offset, SEEK_SET);
+ };
+ virtual off_t seekEnd (off_t offset) {
+ return lseek (fd, offset, SEEK_END);
+ };
};
#endif /* FILEMACRO_H */