u/TribladeSlicein r/C_Programming • Recommends
#raceconditions#filesystem#c++
CppCon 2015: Niall Douglas “Racing The File System"
189K subscribers • 101 videos on Hallway • Conference channel
- Recommended by 2 people: 1 in engineering communities and 1 on Stack Overflow and its sister sites.
- A classic. People kept recommending it from 2016 to 2024.
- Presented by Niall Douglas
- Linked in the descriptioncppcon/cppcon2015
Advanced. Deep dive for people who know the field.
9.5K views11 years ago2 recommendations
Systems programmingSecurityConcurrency and parallelismOperating systemsPerformance and optimization
Niall Douglas explains the dangers of file system race conditions and how to write code that safely handles concurrent path changes.
Cppcon.org — Presentation Slides, PDFs, Source Code and other presenter materials are available at: github.com/cppcon/cppcon2015 — Almost every programmer knows about and fears race conditions on memory where one strand of execution may concurrently update data in use by another strand of execution, leading to an inconsistent and usually dangerous inconsistent read of program state. Almost every programmer therefore is aware of mutexes, memory ordering, semaphores and the other techniques used to serialise access to memory. Interestingly, most programmers are but vaguely aware of potential race conditions on the filing system, and as a result write code which assumes that the filing system does not suddenly change out from underneath you when you are working on it. This assumption of a static filing system introduces many potential security bugs never mind ways of crashing your program, and of course creating data loss and corruption. This workshop will cover some of the ways in which filing system races can confound, and what portable idioms and patterns you should employ to prevent misoperation, even across networked Samba shares. Finally, an introduction of the proposed Boost library AFIO will be made which can help application developers writing filing system race free code portably. — Niall Douglas is a lead author of proposed Boost.AFIO, Boost.APIBind and Boost.Outcome. He is currently the lead Google Summer of Code administrator for Boost. He is an Affiliate Researcher with the Waterloo Research Institute for Complexity and Innovation at the University of Waterloo, Canada, and holds postgraduate qualifications in Business Information Systems and Educational and Social Research as well as a second undergraduate degree double majoring in Economics and Management. He has been using Boost since 2002 and was the ISO SC22 (Programming Languages) mirror convener for the Republic of Ireland 2011-2012. He formerly worked for BlackBerry 2012-2013 in their Platform Development group, and was formerly the Chief Software Architect of the Fuel and Hydraulic Test Benches of the EuroFighter defense aircraft. He is a published author in the field of Economics and Power Relations, is the Social Media Coordinator for the World Economics Association and his particular interest lies in productivity, the causes of productivity and the organizational scaling constraints which inhibit productivity. He is presently between contracts as an expert C++ consultant. — Videos Filmed & Edited by Bash Films: BashFilms.com Work at Hudson River Trading (HRT): tinyurl.com/safxfctfWhy it's here
2 people recommend thisWhat people say. Recommended for its insights into file system concurrency issues and how to handle them safely.
Moments people linked to
EmDroidon Stack Overflow • Recommends
On “removing directories and all sub-directories in it”
u/skeetoin r/C_Programming • Mentions
On “Black Magic Wizard Bullshit”
u/skeetoin r/C_Programming • Mentions
On “Examples of why we use the *at family of functions?”
u/yamaxanduin r/C_Programming • Mentions
On “Help w/ Programmatic Recursive File/Folder Moving on Linux”