For the sake of concreteness, what would be an example of the live lock scenario?
On Tuesday, December 31, 2013, Devin Jeanpierre wrote: > On Tue, Dec 31, 2013 at 4:40 PM, Jason Fager <jfa...@gmail.com<javascript:;>> > wrote: > > About the deadlock scenario, why aren't non-blocking sends sufficient to > > address that concern? I'd personally argue just as strenuously as for > > bounded channels that robust systems shouldn't have senders that block > > indefinitely (nothing like waking up to a production server that's hung > on a > > socket someone removed the timeout from). > > They are clearly sufficient to eliminate deadlock, since nothing > blocks anymore. (Livelock is still possible, though.) > > > Even if you don't OOM, channels that are too large are themselves a major > > problem. If you actually use your hardware you only have so much > capacity. > > If your channel's getting backed up it's probably for a reason; when that > > reason gets resolved you're going to need to go back to handling your > normal > > load plus everything you've been back-logging on your unbounded channels. > > That's one of the main things you tune with bounded channels: how backed > up > > can this reasonably be before I just can't catch up anymore? > > Such a bound only exists in predictable environments. Most of the time > I would expect people to ask a different question, like "how backed up > can this be before I can conclude something has gone wrong?" or "how > backed up can this be before I just don't care anymore?" > > -- Devin > _______________________________________________ > Rust-dev mailing list > Rust-dev@mozilla.org <javascript:;> > https://mail.mozilla.org/listinfo/rust-dev >
_______________________________________________ Rust-dev mailing list Rust-dev@mozilla.org https://mail.mozilla.org/listinfo/rust-dev