170 похожих чатов

Всем привет. Такой вопрос. Есть c-callback f(connection *c, void *msg);

void *msg - это указатель на char буфер куда скопировано полученное сообщение. Следующее сообщение этот буфер перезапишет. Есть очередь thread-safe queue<std::function<void(void)>> куда я хочу сложить вызовы этих колбэков. Делаю это так: https://godbolt.org/z/4cjdoGjEE
Очевидно, что так как вызов колбэка из очереди происходит асинхронно, то если подряд пришли несколько сообщений, то есть вероятность, что сообщение будет перезаписано до того, как будет обработано. Есть ли какой-то способ скопировать char-массив в lambda capture, чтобы скопированный объект хранился в лямбде?

3 ответов

6 просмотров

string

Oleg-Linkin Автор вопроса
Kelbon
string

в этом случае нужно будет изменить сигнатуры всех коллбэков, а этого варианта хотелось бы избежать

Oleg-Linkin Автор вопроса
Kelbon
string

спасибо. Придумал, как это накостялять, используя строку.

Похожие вопросы

Обсуждают сегодня

А еще в перле можно уже @arr1 + @arr2?
Sergei Zhmylove
48
Привет всем. появился вопрос. Разрабатываю сайт, в данный момент он запущен. Хостинг beget. Добавляю на сайт яндекс метрику с помощью полей client-settings (взято отсюда http...
Andrew
2
;.686 ;Система команд процессора 686 ;.MODEL FLAT,stdcall ;Модель памяти плоская, стандартный ;вызов процедуры ;option casemap:no...
Егор Анелькин
1
я не магистр хаскеля, но разве не может лейзи тип конвертнуться в не-лейзи запросив вычисление содержимого прям при инициализации?
deadgnom32 λ madao
100
а как ловят такое ghci> res <- getPos2 urlt 0 (alist !! 0) 200 ghci> res SearchAtom (Search "www.google.com" "/search?q=" "Haskell") "haskell.org" (SearchTS [(2024-05-06 07:...
Fedor
14
Ребята, а из API геокодеров (по адресам в РФ) что сейчас актуального и есть ли среди актуального бесплатное/с нормаотным лимитом запросов? ситуация простая - на сайте периоди...
Dreamer_0x01 VeseloV
8
короче сгенерила мне эта штука код на ассемблере: struc string val { common local .value dq .value .value: if ~val eq db val end if db 0 } fo...
Vi Chapmann Chapmann
12
Всем привет! Массив вводится с клавиатуры, кол-во элементов неизвестно, поэтому я указал arr db 100 dup(?) С нахождением максимума проблем нет, а вот минимум почему-то всегд...
En Vind Av Sorg
11
Есть тут те у кого дети есть + 2 работы + в зал ходят + в семейной жизни все хорошо?
Abdul-Aziz M.
13
кто шарит: mattermost отслеживает что ты на пк запускаешь?
Valentin
13
Карта сайта