|
|
|
Отваливается клиентский socket при sleep 4 при sleep 3 живет
|
|||
|---|---|---|---|
|
#18+
Проблема. Приложение выполняется в ОС Solaris 10, в отдельном процессе живет писатель-читатель который через интервал времени задаваемый через sleep() пишет и читает в connected сокет данные. При sleep(3) и меньше все в порядке, но при увеличении до 4 и выше соединение разрывается с errno 22 EINVAL. Т.е. через указанное время процесс переходит в состояние suspend и связанные структуры с сокетом не могут быть использованы. Операция возобновления выполнения процесса при помощи SIGCONT не приводит к успеху. Что посоветуете? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.02.2008, 12:48:37 |
|
||
|
Отваливается клиентский socket при sleep 4 при sleep 3 живет
|
|||
|---|---|---|---|
|
#18+
Зачем там sleep? Если тебе нужно, чтобы приложение ждало данные то делай блокируемый сокет ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.02.2008, 15:42:02 |
|
||
|
Отваливается клиентский socket при sleep 4 при sleep 3 живет
|
|||
|---|---|---|---|
|
#18+
Сокет использует модель aio_write/aio_read. Данные не ждутся, процесс спит и через некий интервал отправляются (либо значения либо нули). В случае если использовать семафор, то через пару циклов на нем процесс зависает, если без - сокетов работает в порядке (wait/post). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.02.2008, 14:12:21 |
|
||
|
Отваливается клиентский socket при sleep 4 при sleep 3 живет
|
|||
|---|---|---|---|
|
#18+
Щас погляжу про aio_write. А нет желания использовать ACE? Это С++-ная библиотека, в которой низкоуровненвое все засунуто глубоко в обертки ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.02.2008, 14:43:46 |
|
||
|
Отваливается клиентский socket при sleep 4 при sleep 3 живет
|
|||
|---|---|---|---|
|
#18+
Благородный Дон Умаксуиан. дай мне свое мыло или аську - надо срочняком выяснить этот вопрос. Я не могу так долго выжидать твои благороные ответы. Ваш покорный слушатель Филимон. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.02.2008, 20:38:48 |
|
||
|
Отваливается клиентский socket при sleep 4 при sleep 3 живет
|
|||
|---|---|---|---|
|
#18+
Короче, старина, все пишется на С под POSIX/SOLARIS. Остальное не предлагать. Короче проблемы с тем, что в однном процессе читается через shared_memory/semaphor а пишетсЯ в сокет через aio_write/aio_read... НО после пары циклов на семафоре все виснет ...т.е. на на wait Помогите. Мерзкие кодеры-программеры. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.02.2008, 20:42:28 |
|
||
|
|

start [/forum/topic.php?fid=25&msg=35151938&tid=1487114]: |
0ms |
get settings: |
4ms |
get forum list: |
14ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
49ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
40ms |
get tp. blocked users: |
1ms |
| others: | 197ms |
| total: | 319ms |

| 0 / 0 |
