
Andrei
01.05.2017
17:58:23
В теории божно было бы сделать cancellable IO например
Но вообще да, есть APC
Правда он работает как следует из названия асинхронно.

Google

Andrei
01.05.2017
17:59:43
В него можно зафигачить сообщение для треда, но чтобы выполнился хендлер, тред должен сделать что-то типа SleepEx
То есть как минимум попытаться уступить управление.

ovf
01.05.2017
17:59:58
да, а мне как раз в основном нужно, чтобы прибился i/o

Eiko
01.05.2017
18:00:34
Парни, кто нибудь знает в чём суть Динамических портов у серверов или у клиентов и как это работает?
То есть например у меня есть сервер который слушает 1337, как клиент узнает к какому порту подключаться??(или я не так это понимаю :( )

Andrei
01.05.2017
18:00:37
IO там синхронное или (псевдо)асинхронное?

ovf
01.05.2017
18:03:27
синхронное. ну видимо универсальное решение было бы убивать тред целиком, но тогда непонятно, кто будет за ним чистить, и вообще я форкбомбы писать не подряжался.

Andrei
01.05.2017
18:04:22
Плохо. Царского пути решения этой проблемы я не знаю.
Всё равно надо переписывтаь что-то довольно серьёзно.

ovf
01.05.2017
18:04:37
всё вместе это в принципе большой хак -- была большая синхронная программа, и вдруг к ней захотелось приделать дедлайн. оказалось, что на posix это достаточно легко описанным методом.

Maxim
01.05.2017
18:04:40

Eiko
01.05.2017
18:06:30

Herman
01.05.2017
18:06:49
раз уж такая тема про windows поднялась, хочу спросить: какой наиболее нативный язык для системного программирования в винде? также, как и в линухе, C?

Eiko
01.05.2017
18:07:36

Google

Maxim
01.05.2017
18:07:48
Есть ещё такая штука как NAT
Которая может порт поменять

Eiko
01.05.2017
18:08:49

ovf
01.05.2017
18:09:31
а ещё в этой вашей винде половина winapi существует только начиная с server2008

Maxim
01.05.2017
18:09:39

Antony
01.05.2017
18:09:45

Eiko
01.05.2017
18:09:48

/dev
01.05.2017
18:10:14

Eiko
01.05.2017
18:10:57
Допустим знаю, а как стоит задача?
ну мол я хочу понять, как юзают динамические порты...
Мол, клиент должен спросить у системы за свободный порт и занять его, и через него подключиться к серверу, так?

Maxim
01.05.2017
18:11:11

ovf
01.05.2017
18:11:13

Antony
01.05.2017
18:11:31

Eiko
01.05.2017
18:11:46
Да
спасибо, теперь мне нужно узнать какая команда в boost спрашивает систему о свободном порте

Antony
01.05.2017
18:12:38
Вот туториал http://www.boost.org/doc/libs/1_64_0/doc/html/boost_asio/tutorial/tutdaytime1.html

Grigor
01.05.2017
18:12:42

Antony
01.05.2017
18:13:41
Команда вторая вот отсюда:
tcp::socket socket(io_service);
boost::asio::connect(socket, endpoint_iterator);

Eiko
01.05.2017
18:14:36

Роман
01.05.2017
18:14:58

Antony
01.05.2017
18:15:40
13 - это порт с которым соеднияемся (порт сервера), а порт клиента будет динамический (назначенный системой автоматически).
Лучше начать освоение Boost.Asio с самого начала, с туториалов вот отсюда:
http://www.boost.org/doc/libs/1_64_0/doc/html/boost_asio/tutorial.html

Google

ovf
01.05.2017
18:15:47

Eiko
01.05.2017
18:16:08

ovf
01.05.2017
18:16:26

Grigor
01.05.2017
18:17:37
это что-то из .net?
Это поделие Бориса Сазонова, rethread на гитхабе есть, подробнее можно найти в статье на хабре или же в выступлении на cpp Russia
Мы же в конфе cxx, кокой дотнет

ovf
01.05.2017
18:23:56
нет, это немного не то, весь код я переписывать не собираюсь
вообще в последний раз в истории unix редизайн пользовательского низкоуровневого api затевали в research unix (posix это research unix v7 + bsd + sysv + ...), что в итоге было явлено публике в виде plan 9 (1989), который, естественно, оказался никому не нужен.

Alik
01.05.2017
18:41:30

Mikhail
01.05.2017
20:20:07
Кто нибудь в курсе, реализация std::thread - это pthread внутри в с++ на linux?

Andrei
01.05.2017
20:20:36
Да. Где-то в глубине это pthread

Mikhail
01.05.2017
20:21:37
совместими ли std::thread с evthread_use_pthreads из libevent?

Surreal
01.05.2017
20:21:48

Mikhail
01.05.2017
20:22:04

Surreal
01.05.2017
20:22:22

Mikhail
01.05.2017
20:23:54
А как узнать то?

Surreal
01.05.2017
20:26:27

Mikhail
01.05.2017
20:26:40

Surreal
01.05.2017
20:26:50
В gcc (GCC) 6.3.1 20161221 (Red Hat 6.3.1-1) нужен флаг.
В clang тоже. Логично, собственно.
evthread_use_pthreads что-то с потоками делает или просто указывает, что внутри либы должны posix потоки юзаться?

Google

Surreal
01.05.2017
20:32:53
Sets up Libevent for use with Pthreads locking and thread ID functions.
У libevent есть интерфейс для взаимодействия с внутренними потоками? Или что вам сделать надо? У std::thread есть native_handle, если вам их подружить надо.

Mikhail
01.05.2017
20:42:17
кароче делает libevent функции thread safe

Surreal
01.05.2017
20:46:19
А зачем совместимость с std::thread - то?
Вас интересует, безопасно ли вызывать thread safe libevent функцию из нескольких std::thread потоков?
libevent, вроде, итак в асинхронность умеет, зачем поверх еще потоки?

Mikhail
01.05.2017
20:51:04

Simon
01.05.2017
20:54:33
может глупый вопрос, но будет ли работать программа, которая открывает сишный файл, пишет функцию с верным выражением, затем dlopen'ом берет функцию и запускает это чудо.

Surreal
01.05.2017
20:58:05

Admin
ERROR: S client not available

Surreal
01.05.2017
20:58:29
И в другой рассылке:
If you're using some weird threading library, you'll need to teach Libevent how to use it.

Mikhail
01.05.2017
20:58:44
Нет, я именно event_add из другого потока хочу дергать

Surreal
01.05.2017
20:59:39
Сделайте функцию, которая обернет event_add мьютексом, и вызывайте ее из потоков.

Mikhail
01.05.2017
21:01:00
вариант конечно, но придеться всегда add_event мьютексом оборачивать
и зачем, если есть такая опция
loop в другом потоке действительно обрабатывать не стоит

Плюшка
01.05.2017
21:27:26

TheRainwildsKeeper
01.05.2017
21:31:04

Nikolay
01.05.2017
22:08:49
пацаны и дамы, а есть key-value структура, которую можно примерно с одинаковой производительностью кверить и по тому, и по другому?
или это всегда два словаря/хэша?

Google

Alexander
01.05.2017
22:09:44

Nikolay
01.05.2017
22:10:53
а типы там произвольные?

Alexander
01.05.2017
22:11:07

Herman
01.05.2017
22:24:54
Объясните, пожалуйста

Nikolay
01.05.2017
22:25:01
по потреблению памяти она, надеюсь, лучше двух словарей?

Herman
01.05.2017
22:25:05
почему при увеличении блока в 10 раз потребление памяти не изменилось?
я тут утечки пытаюсь делать

Nikolay
01.05.2017
22:26:08
есть шанс, что компилятор выкинул ненужный цикл

Alexander
01.05.2017
22:26:32

Herman
01.05.2017
22:26:52
асм код смотреть?

Alexander
01.05.2017
22:26:53

Herman
01.05.2017
22:27:19
еще асм учить) ну а вообще, в теории, должно ведь увеличиться)

Alexander
01.05.2017
22:27:20

Herman
01.05.2017
22:27:22
?

Nikolay
01.05.2017
22:27:30

Alexander
01.05.2017
22:27:43

here1am
01.05.2017
22:27:47

Herman
01.05.2017
22:27:58
просто рано или поздно пришлось бы его выучить