> + token = luo_next_file_token; > + luo_next_file_token++; This seems like it should be an atomic fetch_add: I'm only seeing read locks up till this point (Sorry if this is too nitpicky. Also for any formatting issues, I'm on mobile atm)