]> git.tdb.fi Git - libs/core.git/blobdiff - source/io/file.cpp
Implement controls for file descriptor inheritance
[libs/core.git] / source / io / file.cpp
index ab957c97f1e2472a5d007b86e8ace3ea9493ec59..74b9f9fde19e49983e35098ea06c0c6c80bcfd0e 100644 (file)
@@ -32,6 +32,12 @@ void File::set_block(bool b)
        sys_set_blocking(handle, b);
 }
 
+void File::set_inherit(bool i)
+{
+       adjust_mode(mode, M_INHERIT, i);
+       sys_set_inherit(handle, i);
+}
+
 unsigned File::do_write(const char *buf, unsigned size)
 {
        check_access(M_WRITE);
@@ -96,6 +102,11 @@ void BufferedFile::set_block(bool b)
        file.set_block(b);
 }
 
+void BufferedFile::set_inherit(bool)
+{
+       throw logic_error("BufferedFile::set_inherit");
+}
+
 unsigned BufferedFile::do_write(const char *buf, unsigned size)
 {
        unsigned ret = buffer.write(buf, size);