The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]




Версия для распечатки Пред. тема | След. тема
Новые ответы [ Отслеживать ]
Проблемя взаимодействия fork и socket с библиотеками, !*! ibm, 07-Июл-06, 21:55  [смотреть все]
Пишу программу, в которой используется для весьма глючное внешнее
устройство.
Фирменная библиотека для работы с ним тоже особой одиренноть не отлячается.
однако устройство необходимо. Программа с использванием данной библиотеки
должна компилиться со след. опциями: -lxerces-c -ldl -lpthread -lc -lSDL.
Признаюсь честно ни с одной из этих библиотек до селе не работал. Проблемы
следующие;
1) При вызове fork(): Когда chil процесс завершает свою работ после вызова
return (в дочернем процессе) родительский не получает SIGCHILD и waitpid не
вызывается поскольку сигнала нет.
Мало того дочерний процесс в таблице процессов обозначается как обычнай
процесс, а не как зомби. Дочерний процесс при этом точно доходит до rerurn.

2) При вызове:
server = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);
создается    3 процесса такого вида:
appolo:# pstree -a
  |   |-bash
  |   |   -all.bin    
  |   |       |-all.bin
  |   |       |   -all.bin               <- Cоздаються при вызове  socket
  |   |       -all.bin                    <- Остаток от fork

Подскажите что можно тут сделать. Одно точно, что если выкинуть это
устройство с его библиотекой все работает как надо и fork и socket




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру