
Ilia
31.08.2018
08:37:45

Ruslan
31.08.2018
08:39:14

Matwey
31.08.2018
08:39:55
Нет
When a thread is blocking higher priority threads because of owning one or more mutexes with the PTHREAD_PRIO_INHERIT protocol attribute, it shall execute at the higher of its priority or the priority of the highest priority thread waiting on any of the mutexes owned by this thread and initialized with this protocol.
Ну вот это как воспринимать?

Ruslan
31.08.2018
08:41:01
Написано же

Google

Ilia
31.08.2018
08:41:11

Ruslan
31.08.2018
08:42:14
Угу

Matwey
31.08.2018
08:42:39

Ilia
31.08.2018
08:42:53

Ruslan
31.08.2018
08:43:17
поиграться сприоритетами и понять как оно работает на деле

Ilia
31.08.2018
08:46:03

Ruslan
31.08.2018
08:48:18
Ну, да. Проще всего забить, конечно

Ilia
31.08.2018
08:49:12
И зачем бы это было нужно?
На самом деле на практике если что-то совсем системное не пишешь, приоритеты не нужны. Используй дефолтное и все

Ruslan
31.08.2018
08:50:20
Как и мьютексы, собственно. Если дизайн позволяет

Matwey
31.08.2018
08:51:12
Тут за меня уже написали, вот я разбираюсь

Ilia
31.08.2018
08:51:50

Google

Ruslan
31.08.2018
08:52:38

Matwey
31.08.2018
09:00:14
Меня беспокоит, что эти приоритеты тут чинят баг. И я не очень понимаю каким образом...
Не должно такого быть

Ilia
31.08.2018
09:00:43

Matwey
31.08.2018
09:02:00
Ну, т.е. баг то не воспроизводится больше, да. Только это вот ничего не значит

Ruslan
31.08.2018
09:02:39

Ilia
31.08.2018
09:02:54

Antony
31.08.2018
09:03:04
о! Про РГ21 статья на вики появилась https://ru.wikipedia.org/wiki/%D0%A0%D0%9321_%D0%A1%2B%2B

Ilia
31.08.2018
09:03:06

Ruslan
31.08.2018
09:03:26
Ваше право
Я лично переводил пару проектов на мультитред без мьютексов

Anatoly
31.08.2018
09:03:48

Ruslan
31.08.2018
09:04:09
Просто потому, что люди натыкали мьютексов бездумно

Anatoly
31.08.2018
09:04:16

Ruslan
31.08.2018
09:04:25
Но не только
Иногда, например в случае с SQLite, можно использовать встроенную поддержку многопоточности
Но по неизвестным мне причинам иногда люди предпочитают усеять все мьютексами

Google

Matwey
31.08.2018
09:06:48

Anatoly
31.08.2018
09:07:11

Matwey
31.08.2018
09:08:10
https://github.com/oetiker/rrdtool-1.x/commit/e1f6ee13380e1eeeaae66506348ce39a5ff33572
У кого-то вот так
Позорная библиотека этот rrdtool, в мультитреде так и не умеет работать в 2018 году

Ruslan
31.08.2018
09:09:40

Anatoly
31.08.2018
09:09:47

Ruslan
31.08.2018
09:10:11
Ктож еще?

Matwey
31.08.2018
09:10:58

Anatoly
31.08.2018
09:11:06

Matwey
31.08.2018
09:12:32

Ruslan
31.08.2018
09:15:18

Matwey
31.08.2018
09:15:22
Я вон там попытался чего-то запатчить, да так и бросил, там еще два раза по столько же осталось.
А тред локал я вспомнил почему. Я в какой-то момент подумал - ну ладно, заверну вызовы rrd в мьютекс, пусть они в один поток выполняются и не портят данные. А оно все-равно начало падать на старых версиях из-за нового cairo который тред-локал начал использовать.

Ruslan
31.08.2018
09:15:52
Я не готов брать риски за чужой код.
Нет у меня пока такой уверенности в безгрешности человека

Antony
31.08.2018
09:20:28

v
31.08.2018
11:01:30
А как хранить объекты разных типов в одной коллекции с минимальным оверхедом в 11 плюсах?
Class client1 : public base<client1>

Google

v
31.08.2018
11:01:30
Class client2 : public base<client2>
Объекты примерно таких типов

Antony
31.08.2018
11:04:26

Побитый
31.08.2018
11:20:53

Andrew
31.08.2018
11:20:58
Возможно, это "тупой новичковый" вопрос, но есть ли способ сделать в абстрактном классе функцию, принимающую произвольный тип? Контекст -- сделать метод, принимающий произвольный контейнер, по которому потом идет итерирование. template не идет, потому что virtual ... = 0; type erasure тоже вроде не подходит, потому что хочется для произвольных пользовательских типов.
Пока придумал только костыль с созданием прокси-объекта, который и будет принимать функция в интерфейсе.

Александр
31.08.2018
11:22:26

Andrew
31.08.2018
11:23:59

Spoonson
31.08.2018
11:25:06

Admin
ERROR: S client not available

A.D.
31.08.2018
11:25:16

Andrew
31.08.2018
11:25:24

A.D.
31.08.2018
11:25:54
а что, нельзя делать шаблонный абстрактный метод?

Igor
31.08.2018
11:27:00
не, нельзя

Sergei
31.08.2018
11:27:02
Привет, подскажите пожалуйста.
Как можно снять с файла подпись что он скачан из интернета ? C++

Andrew
31.08.2018
11:27:02
Мне казалось, что нет.

Ruslan
31.08.2018
11:30:07

yuri
31.08.2018
11:31:29

Andrew
31.08.2018
11:31:33

Igor
31.08.2018
11:32:05
template<class Container>
void do_collection(Container &&c) { for (const MyType &e : c) virt_do(e); }
virtual void do(const MyType &e) = 0;

Ruslan
31.08.2018
11:32:09

Google

Ruslan
31.08.2018
11:32:23
Чтобы не нужно было руками переопределять

A.D.
31.08.2018
11:32:45
но по сути, это тоже самое, что целиком на шаблонах все сделать

Ruslan
31.08.2018
11:33:33

Andrew
31.08.2018
11:34:44

Nikita
31.08.2018
11:35:07
если коллекция с элементами определенного типа то можно boost::any_range

Igor
31.08.2018
11:35:13
мне кажется форвард лишний

Andrew
31.08.2018
11:36:41
Ну я могу придумать только 1 случай, когда он не был бы лишним, но это уже вопрос чисто из интереса, правильно ли такое обработалось ли; скорее всего, в этом смысла нет.

A.D.
31.08.2018
11:38:12
зачем форвард в for??

Anton
31.08.2018
11:40:14
подскажите, кто какие использует либы для логов. а то как в последнее время мне с ними не везет.
сейчас добавил loguru, но как то она странно работает. толи мешает работе libuv. переместил инициализацию логов - начал принимать пакеты. вообщем в поисках более адекватной лог системы
раньше использовал log4cpp

Andrew
31.08.2018
11:40:35
Когда он не был бы лишним? Ну в теории, коллекция могла бы понимать, что если она rvalue, то можно обрабатывать доступ к элементам по другому.
Всякие void method() & {} void method() && {}

Anton
31.08.2018
11:40:46
но видимо она уже устарела безвовратно

Stanislav
31.08.2018
11:41:31

Anton
31.08.2018
11:42:29
sdplog пробовал раньше - нужно будет еще раз к ней присмотреться. задача такая - если запущено просто приложение - лог на экран, если в режиме демона - лог в файл

Ruslan
31.08.2018
11:42:50

Anton
31.08.2018
11:43:44
poco не рассматривал, из-за логов не хочу кучу зависемостей тянуть

Stanislav
31.08.2018
11:44:17