Conditional critical section, don't wait if the lock is not available
Don't use read_ptr/write_ptr