X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Flibr2c2%2Fblock.cpp;h=289c4e54f6bd14de4107f1e4246144e8438c168b;hb=399b48a7a80dafde49e7530ff8dfd2820232a73f;hp=25b3bc8b85163d0bfd2ece6a54718f02b840ec6d;hpb=b3f8467442aac111e9a316db0dda67d37ae240b8;p=r2c2.git diff --git a/source/libr2c2/block.cpp b/source/libr2c2/block.cpp index 25b3bc8..289c4e5 100644 --- a/source/libr2c2/block.cpp +++ b/source/libr2c2/block.cpp @@ -21,9 +21,7 @@ Block::Block(Layout &l, Track &start): turnout_addr(start.get_turnout_address()), conflict(false), sensor(0), - train(0), - pending_train(0), - emitting_reserve(false) + train(0) { add_track(start); @@ -170,19 +168,10 @@ Block *Block::get_link(unsigned epi) const bool Block::reserve(Train *t) { - if(!t || !(emitting_reserve ? pending_train : train)) + if(!t || !train) { - pending_train = t; - if(!emitting_reserve) - { - while(pending_train!=train) - { - train = pending_train; - SetFlag setf(emitting_reserve); - signal_reserved.emit(train); - } - } - + train = t; + signal_reserved.emit(t); return true; } else