4 ms·
Using sync locks in an async environment is a code smell, so the Rust code is bad right off the bat. Just stick with async locks and take the tiny performance h
by dvt 1y ago
Using sync locks in an async environment is a code smell, so the Rust code is bad right off the bat. Just stick with async locks and take the tiny performance hit unless you know exactly what you're doing.
- ozgrakkurt 1y agoIf I remember correctly tokio Mutex docs mentions you should use std Mutex unless you are holding the lock across an await
- deleted 1y ago[deleted]
- pwdisswordfishz 1y agoWhich is exactly what happens here!
- ozgrakkurt 1y agoThat section looks like a cut out version of a pseudo code more than actual code. He could have mem::dropped the lock 50 lines before the await point
- bkolobara 1y agoI didn't need to hold the lock across the .await point and in that case the official docs recommend a regular lock.