# Poisoning Survey Initial Results ###### tags: `Blog Drafts` `Kitchen Sync` ## Content - Include some graphs of results - Link to raw results - Some insights (don't draw specific conclusions yet) ## Total respondents 786 ## Do you use the standard library’s lock types (Mutex or RwLock) in any of your projects? Yes: 88.8% No: 11.2% ## Do you use locks from outside the standard library (such as from antidote or parking_lot) in any of your projects? Yes: 55% No: 45% ## Which of these is closest to how you acquire locks? (Select all that apply) .lock.unwrap(): 84.3% .lock?: 28.6% .lock().unwrap_or_else(PoisonGuard::into_inner): 6.1% ## Have you ever thought carefully about lock poisoning in your projects? Yes: 37.5% No: 62.5% ## If so, what do you want to happen when a lock is poisoned? (Select all that apply) I want my program to terminate: 62.8% I never want my program to terminate: 18.2% I want to access the data again: 22.8% I never want to access the data again: 24.5% I want to check and fix the data: 26% ## Do you think you’ve benefited from the standard library’s lock types providing poisoning by default? Yes: 32.4% No: 67.6% ## How much friction do you think would be involved in migrating any of your projects from the standard library’s poisoning lock types to a non-poisoning lock crate? None: 41.4% A manageable amount: 56.7% Too much: 1.9% ## Would you use a poisoning implementation from the standard library if it was independent of Mutex or RwLock? Yes: 52.5% No: 47.5%