а-а, тут дело оказывается проще, есть удобный механизм fmem_get и fmem_release
Концепция работы проясняется вроде:
1. Источник получает через fmem_get указатель на свободное место
2. он же кладет туда свои данные
3. он же через queue_send сообщает где лежат эти данные
4. перейдя на пункт 1 он получит уже следующий адрес (если место еще есть) или тормознется на этом шаге, до освобождения памяти в п.С(ниже)
A. Приемник получает указатель на элемент данных queue_receive
B. обрабатываем этот элемент
C. элемент не нужен - освобождаем под место fmem_release, т.е. элемент мы не испортим никаким образом, пока не освободим место.
Т.о. проблему я надумал