If you try to create serial::Serial object, and something went wrong inreconfigurePortmethod (in my case - tcgetattr) - isOpened flag stays false, and ::close(_fd) method not called in destructor.
This makes opened descriptors hang, and in autodetection case, with full cycle over all available ports - exceeds the limits of opened fd's.
Probably, just need to remove if (is_open_ == true) condition in Serial::SerialImpl::close ()
If you try to create
serial::Serial
object, and something went wrong inreconfigurePort
method (in my case - tcgetattr) -isOpened
flag stays false, and::close(_fd)
method not called in destructor. This makes opened descriptors hang, and in autodetection case, with full cycle over all available ports - exceeds the limits of opened fd's.Probably, just need to remove
if (is_open_ == true)
condition inSerial::SerialImpl::close ()