X-Git-Url: http://git.tdb.fi/?p=libs%2Fcore.git;a=blobdiff_plain;f=source%2Fio%2Fserial.cpp;h=09a9768023bad9e1fa00be0d398ac45a6933442c;hp=cf2c6952bf3d7e97eb52eb0102f5253549aa03da;hb=ea8bf8f588310b0d7fd3297d74907602705bba1d;hpb=609c9a508cfdc7b42c46c4f21d17639204165a00 diff --git a/source/io/serial.cpp b/source/io/serial.cpp index cf2c695..09a9768 100644 --- a/source/io/serial.cpp +++ b/source/io/serial.cpp @@ -42,10 +42,16 @@ void Serial::close() void Serial::set_block(bool b) { - mode = b?(mode&~M_NONBLOCK):(mode|M_NONBLOCK); + adjust_mode(mode, M_NONBLOCK, !b); sys_set_blocking(handle, b); } +void Serial::set_inherit(bool i) +{ + adjust_mode(mode, M_INHERIT, i); + sys_set_inherit(handle, i); +} + void Serial::set_baud_rate(unsigned rate) { DeviceState state; @@ -120,5 +126,11 @@ unsigned Serial::do_read(char *buf, unsigned size) return ret; } +const Handle &Serial::get_handle(Mode m) +{ + check_access(m); + return handle; +} + } // namespace IO } // namespace Msp