Я немного запутался, как объявлять рекурсивный мьютекс с помощью pthread.
То, что я пытаюсь сделать, это иметь только один поток за раз, чтобы иметь возможность выполнять фрагмент кода (включая функции), но после скептицизма я понял, что использование мьютексов не будет работать и что вместо этого я должен использовать рекурсивные мьютексы. Вот мой код:
pthread_mutex_lock(&mutex); // LOCK
item = queue_peek(queue); // get last item in queue
item_buff=item; // save item to a buffer
queue_removelast(queue); // remove last item from queue
pthread_mutex_unlock(&mutex); // UNLOCK
Итак, я пытаюсь последовательно читать / удалять из очереди.
Дело в том, что нет никакого примера, как объявлять рекурсивные мьютексы. Или, может быть, несколько, но они не компилируются для меня.