View in chat - fintank
1
45
74
TX
Алексей_Викторович_Киц
2025-01-17 19:15:28
(0)
а раньше почему не конкурировало?
однопоточное было?
@Карл Степанидов
Карл Степанидов
2025-01-17 19:26:23
(0)
Раньше сетевой движок был тупее, щас стал сложнее. В тупой можно было зайти из 2 потоков, у сложного жопа отваливается
да сделано туповато слегка, переделаем...
есть очередь страниц на отправку теперь - её разгребает либо поток "ядра линукс" либо поток игруни. Поток игруни приходит отправлять данные браузеру со свежими страницами данных, кладёт эти страницы в эту очередь зачем-то, потом начинает оттуда отправлять. А бывает так, что он положил в очередь, взял указатель на первую страницу чтобы отправить и в этот момент его тормозят и запускается поток "ядра": приходит, смотрит очередь лежит, думает - ёба это я не доотправлял в прошлый раз и начинает тоже отправлять
отправляет это. Потом просыпается заснувший поток игруни, раздупляется и начинает продолжать отправку, смотрит на размер страницы а там ноль уже, типа отправлено - он такой "какого куя, я же ещё не отправил", почему у меня ноль стало до отправки, такие страницы в очереди быть не могли, баг, завершение программы.
ну там приходы в одно место в разных комбинациях. Сначала может начать отправлять игруня, отправить успешно, потом приходит ядро - хоба в очереди ещё что-то лежит, берёт это и отправляет, получается двойная отправка в клиента (браузеру пофиг, просто двойной трафик одного и того же), потом уходит, потом раздупляется поток игруни и видит по своему указателю, что он вроде отправил успешно, а страница пустая. И думает - да ёба, я же только что видел что она не пустая, иначе бы не начал отправлять, какого куя!!!
Надо атомарности намазать.
Очередь в целом выкинуть нельзя, потому что если кто не смог доотправлять, потому что сеть например забилась, оно просто в очереди застревает и потом доотправляется, просто работа с очередью сделана по-псовому
TX
Алексей_Викторович_Киц
2025-01-17 21:39:53
(0)
скинь исходники сами разберемся
Карл Степанидов
2025-01-17 21:40:02
(1110)
да не пасиба завтра подумаем
TX
Алексей_Викторович_Киц
2025-01-17 21:40:05
(0)
гг
жлоб что ли
Карл Степанидов
2025-01-17 21:40:19
(0)
перелом собаки у вас будет а не разберётесь
TX
Алексей_Викторович_Киц
2025-01-17 21:40:25
(0)
разберемся
Карл Степанидов
2025-01-17 21:40:27
(1113)
не опенсорс это просто.
для клоузед-сурса нормально не скидывать исходники
TX
Алексей_Викторович_Киц
2025-01-17 21:40:49
(0)
хули ты там неграмотный мог такого написать что мы не разберемся
эксперимент над гарынм
главное что бы у него перелом собаки не произошел
Карл Степанидов
2025-01-17 21:42:08
(0)
да блять жалко добряка
из запоя уже может и не выйти
но мы постараемся скоро починить, уже почти изобрели нужную структуру данных, воткнём её
TX
Алексей_Викторович_Киц
2025-01-17 21:42:58
(0)
там налог будет браться?
1
45
74