Are queue writes atomic?

Posted by Eric on December 29, 2008

Are queue writes atomic?

For example, if I have a task that writes an 80-character string to a queue using xQueueGenericSend, and an interrupt comes along and tries to write to the same queue using xQueueGenericSendFromISR, what happens? Is the task write guaranteed to finish before the interrupt takes over?

RE: Are queue writes atomic?

Posted by Dave on December 30, 2008
Queue writes are atomic but its not a good idea to store 80 character strings in a queue. Much better to store a pointer to the string.

RE: Are queue writes atomic?

Posted by Eric on December 30, 2008

>> its not a good idea to store 80 character strings in a queue.
>> Much better to store a pointer to the string.

Good morning, Dave.

Yes, I agree. But, it's not my code :-). I'm doing modifications to existing code, and changing the way queues are used is beyond the scope of my job description unless I come up with a really good reason. And, what is there now does work, so not really a compelling reason to change it unless I run into trouble.

Thanks for the info...