Size: a a a

2020 August 18

AT

Anatoly Tomilov in pro.cxx
Да, была бы у unique_ptr такая функциональность. Или был бы shared_ptr move only по умолчанию и копировался бы через метод clone().
источник

AT

Anatoly Tomilov in pro.cxx
а ну это можно сделать через лямбду [lock = std::unique_lock<std::mutex>(m)](auto *) mutable {} в качестве deleter-а
источник

m

magras in pro.cxx
Anatoly Tomilov
а ну это можно сделать через лямбду [lock = std::unique_lock<std::mutex>(m)](auto *) mutable {} в качестве deleter-а
Пользователь может сделать unique_ptr::release(). Мне кажется лучше все же написать свою обертку.
источник

AT

Anatoly Tomilov in pro.cxx
magras
Пользователь может сделать unique_ptr::release(). Мне кажется лучше все же написать свою обертку.
Это норм. Умный указатель станет пустым, а мьютекс разлочится
источник

AT

Anatoly Tomilov in pro.cxx
источник

m

magras in pro.cxx
Anatoly Tomilov
Это норм. Умный указатель станет пустым, а мьютекс разлочится
гм. Да, не обратил внимание что unlock происходит в деструторе делитора.
источник

m

magras in pro.cxx
Anatoly Tomilov
Это норм. Умный указатель станет пустым, а мьютекс разлочится
И все-таки не совсем норм. И reset() и release() обнулят указатель, но будут держать лок до разрушения: https://godbolt.org/z/x46z94

Хак с unique_ptr красивый, но у него есть лишние возможности.
источник

AT

Anatoly Tomilov in pro.cxx
действительно
источник

AT

Anatoly Tomilov in pro.cxx
можно в operator () deleter-а вызывать unlock
источник

AT

Anatoly Tomilov in pro.cxx
источник

S

SSH in pro.cxx
добрый вечер парни, вопрос по общей памяти между двумя разными процесами сюда задавать или в другую группу?
источник

S

SSH in pro.cxx
в общем у меня есть код для видеостримминга, и есть код под специфическое устройство в системе, проблема в разных версиях устройства, из-за этого было разделить сами процессы (один снимает видео, второй уже стримит)
я думал в сторону шаред мемори, но может кто то подскажет более элегантное решение?

передаваться между процессами должны структуры данных (думал еще задействовать ring-buffer)
источник

🇮

🇮🇹 Yury in pro.cxx
шаред мемори будет довольно сложно правильно сделать.
я пробовал. поддерживать очень плохо получается
надо - шарить фрейм + ситгалить что он готов
для аудио буффера тоже самое.
источник

🇮

🇮🇹 Yury in pro.cxx
проще наверное сделать из одного процесаа сетевой стрим чтоб второй процесс его принимал
источник

S

SSH in pro.cxx
🇮🇹 Yury
проще наверное сделать из одного процесаа сетевой стрим чтоб второй процесс его принимал
Вы имеете ввиду устройство пишет в сокет, стример оттуда его забирает и дальше стримит?
источник

🇮

🇮🇹 Yury in pro.cxx
сокет. UDP RTP итд
источник

🇮

🇮🇹 Yury in pro.cxx
что больше подходит
источник

S

SSH in pro.cxx
По идее тогда смысл разделения теряется
источник

🇮

🇮🇹 Yury in pro.cxx
в том то и смысл )
источник

🇮

🇮🇹 Yury in pro.cxx
задача плохо описана.
источник