@ProCxx

Страница 829 из 2477
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 это достаточно легко описанным методом.

Eiko
01.05.2017
18:06:30
Клиент узнает к какому порту подключиться, если ты в конфиге пропишешь куда подключаться.
https://ru.wikipedia.org/wiki/%D0%94%D0%B8%D0%BD%D0%B0%D0%BC%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B8%D0%B9_%D0%BF%D0%BE%D1%80%D1%82 >Динамический порт назначается только на время соединения.

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

Eiko
01.05.2017
18:07:36
https://ru.wikipedia.org/wiki/%D0%94%D0%B8%D0%BD%D0%B0%D0%BC%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B8%D0%B9_%D0%BF%D0%BE%D1%80%D1%82 >Динамический порт назначается только на время соединения.
>хотя в большинстве реализаций просто происходит увеличение номера последнего использованного порта на единицу вплоть до исчерпания всего диапазона динамических портов.

Google
Maxim
01.05.2017
18:07:48
Есть ещё такая штука как NAT

Которая может порт поменять

Eiko
01.05.2017
18:08:49
У клиента да, порт динамический.
допустим понял, в boost asio знаешь как заюзать?

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

Maxim
01.05.2017
18:09:39
Antony
01.05.2017
18:09:45
допустим понял, в boost asio знаешь как заюзать?
Допустим знаю, а как стоит задача?

Eiko
01.05.2017
18:09:48
С бустом не работал
лан, спасибо, ещё погуглю

/dev
01.05.2017
18:10:14
а ещё в этой вашей винде половина winapi существует только начиная с server2008
будто кто-то ещё занимается поддержкой 10летнего легаси (жаль их)

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

ovf
01.05.2017
18:11:13
будто кто-то ещё занимается поддержкой 10летнего легаси (жаль их)
блиц-исследование почтового ящика показало, что в 2011-м году ещё точно народ использовал server2003 в prod.

Antony
01.05.2017
18:11:31
а ещё в этой вашей винде половина winapi существует только начиная с server2008
Причем другую половину winapi умудрились изпоганить где-то в районе Висты

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

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
Команда вторая вот отсюда: tcp::socket socket(io_service); boost::asio::connect(socket, endpoint_iterator);
а разьве "daytime" в query(argv[1], "daytime"); не явно указывает что это 13 порт??

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
А чей нравится?
http://www.azquotes.com/quote/1058099

ovf
01.05.2017
18:16:26
Cancellation Token
это что-то из .net?

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), который, естественно, оказался никому не нужен.

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
Да. Компилить даже надо с -lpthread
Или было надо. Не в курсе, как оно сейчас.

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

Surreal
01.05.2017
20:26:27
А как узнать то?
Попробовать скомпилить без флага код с std::thread.

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
evthread_use_pthreads что-то с потоками делает или просто указывает, что внутри либы должны posix потоки юзаться?
он включает поддержку использование libevent функций из потоков не парясь о блокировках

кароче делает 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
libevent, вроде, итак в асинхронность умеет, зачем поверх еще потоки?
Ну, я хочу добавлять эвенты из рдугого потока

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

Surreal
01.05.2017
20:58:05
Ну, я хочу добавлять эвенты из рдугого потока
Гарантий нет. Лучше так не делать, в рассылке пишут про обертку event_base_loop в std::thread. http://archives.seul.org/libevent/users/Mar-2016/msg00007.html

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
Напиши на c# операционную систему
MonoBrick. Юзал лично на своём EV3, даже победил пару конкурсов.

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

или это всегда два словаря/хэша?

Google
Nikolay
01.05.2017
22:10:53
boost.bimap
попробую, спасибо

а типы там произвольные?

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
в реализацию я не лез, но ЕМНИП там два словаря внутри и всё
ну хоть без дублирования, unique_ptr, вот это все?

Alexander
01.05.2017
22:27:43
еще асм учить) ну а вообще, в теории, должно ведь увеличиться)
не хочешь в АСМ - не заморачивайся такими вопросами

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

Страница 829 из 2477