|
43 | 43 | * writer and reader to be different tasks or interrupts, but, unlike other
|
44 | 44 | * FreeRTOS objects, it is not safe to have multiple different writers or
|
45 | 45 | * multiple different readers. If there are to be multiple different writers
|
46 |
| - * then the application writer must place each call to a writing API function |
47 |
| - * (such as xMessageBufferSend()) inside a critical section and set the send |
48 |
| - * block time to 0. Likewise, if there are to be multiple different readers |
49 |
| - * then the application writer must place each call to a reading API function |
50 |
| - * (such as xMessageBufferRead()) inside a critical section and set the receive |
51 |
| - * timeout to 0. |
| 46 | + * then the application writer must serialize calls to writing API functions |
| 47 | + * (such as xStreamBufferSend()). Likewise, if there are to be multiple |
| 48 | + * different readers then the application writer must serialize calls to reading |
| 49 | + * API functions (such as xStreamBufferReceive()). One way to achieve such |
| 50 | + * serialization in single core or SMP kernel is to place each API call inside a |
| 51 | + * critical section and use a block time of 0. |
52 | 52 | *
|
53 | 53 | * Message buffers hold variable length messages. To enable that, when a
|
54 | 54 | * message is written to the message buffer an additional sizeof( size_t ) bytes
|
@@ -306,12 +306,12 @@ typedef StreamBufferHandle_t MessageBufferHandle_t;
|
306 | 306 | * writer and reader to be different tasks or interrupts, but, unlike other
|
307 | 307 | * FreeRTOS objects, it is not safe to have multiple different writers or
|
308 | 308 | * multiple different readers. If there are to be multiple different writers
|
309 |
| - * then the application writer must place each call to a writing API function |
310 |
| - * (such as xMessageBufferSend()) inside a critical section and set the send |
311 |
| - * block time to 0. Likewise, if there are to be multiple different readers |
312 |
| - * then the application writer must place each call to a reading API function |
313 |
| - * (such as xMessageBufferRead()) inside a critical section and set the receive |
314 |
| - * block time to 0. |
| 309 | + * then the application writer must serialize calls to writing API functions |
| 310 | + * (such as xStreamBufferSend()). Likewise, if there are to be multiple |
| 311 | + * different readers then the application writer must serialize calls to reading |
| 312 | + * API functions (such as xStreamBufferReceive()). One way to achieve such |
| 313 | + * serialization in single core or SMP kernel is to place each API call inside a |
| 314 | + * critical section and use a block time of 0. |
315 | 315 | *
|
316 | 316 | * Use xMessageBufferSend() to write to a message buffer from a task. Use
|
317 | 317 | * xMessageBufferSendFromISR() to write to a message buffer from an interrupt
|
@@ -409,12 +409,12 @@ typedef StreamBufferHandle_t MessageBufferHandle_t;
|
409 | 409 | * writer and reader to be different tasks or interrupts, but, unlike other
|
410 | 410 | * FreeRTOS objects, it is not safe to have multiple different writers or
|
411 | 411 | * multiple different readers. If there are to be multiple different writers
|
412 |
| - * then the application writer must place each call to a writing API function |
413 |
| - * (such as xMessageBufferSend()) inside a critical section and set the send |
414 |
| - * block time to 0. Likewise, if there are to be multiple different readers |
415 |
| - * then the application writer must place each call to a reading API function |
416 |
| - * (such as xMessageBufferRead()) inside a critical section and set the receive |
417 |
| - * block time to 0. |
| 412 | + * then the application writer must serialize calls to writing API functions |
| 413 | + * (such as xStreamBufferSend()). Likewise, if there are to be multiple |
| 414 | + * different readers then the application writer must serialize calls to reading |
| 415 | + * API functions (such as xStreamBufferReceive()). One way to achieve such |
| 416 | + * serialization in single core or SMP kernel is to place each API call inside a |
| 417 | + * critical section and use a block time of 0. |
418 | 418 | *
|
419 | 419 | * Use xMessageBufferSend() to write to a message buffer from a task. Use
|
420 | 420 | * xMessageBufferSendFromISR() to write to a message buffer from an interrupt
|
@@ -516,12 +516,12 @@ typedef StreamBufferHandle_t MessageBufferHandle_t;
|
516 | 516 | * writer and reader to be different tasks or interrupts, but, unlike other
|
517 | 517 | * FreeRTOS objects, it is not safe to have multiple different writers or
|
518 | 518 | * multiple different readers. If there are to be multiple different writers
|
519 |
| - * then the application writer must place each call to a writing API function |
520 |
| - * (such as xMessageBufferSend()) inside a critical section and set the send |
521 |
| - * block time to 0. Likewise, if there are to be multiple different readers |
522 |
| - * then the application writer must place each call to a reading API function |
523 |
| - * (such as xMessageBufferRead()) inside a critical section and set the receive |
524 |
| - * block time to 0. |
| 519 | + * then the application writer must serialize calls to writing API functions |
| 520 | + * (such as xStreamBufferSend()). Likewise, if there are to be multiple |
| 521 | + * different readers then the application writer must serialize calls to reading |
| 522 | + * API functions (such as xStreamBufferReceive()). One way to achieve such |
| 523 | + * serialization in single core or SMP kernel is to place each API call inside a |
| 524 | + * critical section and use a block time of 0. |
525 | 525 | *
|
526 | 526 | * Use xMessageBufferReceive() to read from a message buffer from a task. Use
|
527 | 527 | * xMessageBufferReceiveFromISR() to read from a message buffer from an
|
@@ -610,12 +610,12 @@ typedef StreamBufferHandle_t MessageBufferHandle_t;
|
610 | 610 | * writer and reader to be different tasks or interrupts, but, unlike other
|
611 | 611 | * FreeRTOS objects, it is not safe to have multiple different writers or
|
612 | 612 | * multiple different readers. If there are to be multiple different writers
|
613 |
| - * then the application writer must place each call to a writing API function |
614 |
| - * (such as xMessageBufferSend()) inside a critical section and set the send |
615 |
| - * block time to 0. Likewise, if there are to be multiple different readers |
616 |
| - * then the application writer must place each call to a reading API function |
617 |
| - * (such as xMessageBufferRead()) inside a critical section and set the receive |
618 |
| - * block time to 0. |
| 613 | + * then the application writer must serialize calls to writing API functions |
| 614 | + * (such as xStreamBufferSend()). Likewise, if there are to be multiple |
| 615 | + * different readers then the application writer must serialize calls to reading |
| 616 | + * API functions (such as xStreamBufferReceive()). One way to achieve such |
| 617 | + * serialization in single core or SMP kernel is to place each API call inside a |
| 618 | + * critical section and use a block time of 0. |
619 | 619 | *
|
620 | 620 | * Use xMessageBufferReceive() to read from a message buffer from a task. Use
|
621 | 621 | * xMessageBufferReceiveFromISR() to read from a message buffer from an
|
|
0 commit comments