Summary: | accept locks all thread subsystem | ||
---|---|---|---|
Product: | Sisyphus | Reporter: | inger <inger> |
Component: | guile16 | Assignee: | Nobody's working on this, feel free to take it <nobody> |
Status: | CLOSED FIXED | QA Contact: | qa-sisyphus |
Severity: | blocker | ||
Priority: | P2 | CC: | mike |
Version: | unstable | ||
Hardware: | all | ||
OS: | Linux |
Description
inger@altlinux.org
2005-12-22 16:16:08 MSK
надо бы по больше severity Вроде актуально :( Причём не только для accept, но и для recv, send и всего комплекта функций работы с сокетами. А если копнуть чуть глубже, то выяснится, что всё, что умеет работать вместе с тредами, это операции с файловыми портами, usleep и sleep. Всё. Любая другая блокирующая операция заблокирует весь процесс целиком. Механизм для реализации обёрток в guile-1.6 есть. Делается всё довольно тривиально, если я правильно понял как это работает. Так что если это действительно необходимо, то я могу поправить accept и ещё немножко функций. :) Отправлять патч в upstream вряд ли имеет смысл, хотя я могу посмотреть на 1.8, может они так и забыли про эту "фичу". Ну что, исправляем? даже и не знаю ... наверное можно подождать, вроде как уже свыкся со всеми тараканами 1.6 ... кстати как по твоим ощущениям 1.8 .. стоит ли туда переезжать? Или 1.9 дождаться? 1.8 не щупал, если честно. По рассылки особых возмущений не вижу. Либо guile уже никто не использует, либо там всё в порядке. в любом случае попробовать стоит. В 1.8 эти блокировки в accept убраны, в send и в recv остались. :) В общем, я патчик изготовлю и в пакет положу. Не будет у нас блокироваться accept, как и в 1.8. Остальные функции пока трогать не буду. |