X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Flibmarklin%2Fcontrol.cpp;h=4f63cc20be086e90e4c56c7e2d768665444a2044;hb=dcc8378d809e5d2e53db77234559b0556195e693;hp=6f7ef74dbf30bc18cd83bd111e994ef7e606c619;hpb=e375f8bf215058398795be1010ffec89d0150114;p=r2c2.git diff --git a/source/libmarklin/control.cpp b/source/libmarklin/control.cpp index 6f7ef74..4f63cc2 100644 --- a/source/libmarklin/control.cpp +++ b/source/libmarklin/control.cpp @@ -36,7 +36,8 @@ Control::~Control() delete i->second; for(map::iterator i=locomotives.begin(); i!=locomotives.end(); ++i) delete i->second; - close(serial_fd); + if(serial_fd>=0) + close(serial_fd); } void Control::open(const string &dev) @@ -212,7 +213,10 @@ void Control::tick() if(debug) cout<<"W: "<=0) + queue.front().send(serial_fd); + else + queue.erase(queue.begin()); } }