Messages in this thread | | | Date | Wed, 30 Nov 2005 23:19:31 +0100 | From | Pavel Machek <> | Subject | Re: [BUG] Variable stopmachine_state should be volatile |
| |
Hi!
> The model to access variable stopmachine_state is that a main thread > writes it and other threads read it. Its declaration has no sign > volatile. In the while loop in function stopmachine, this variable is > read, and compiler might optimize it by reading it once before the loop > and not reading it again in the loop, so the thread might enter dead > loop.
No. volatile may look like a solution, but it usually is not. You may need some barriers, atomic_t or locking. Pavel -- Thanks, Sharp! - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |