URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID9
Нить номер: 3859
[ Назад ]

Исходное сообщение
"А могу я вызвать деструктор"

Отправлено Beas , 21-Янв-05 13:29 
из конструктора ? Если например требуемый ресурс не выделился, мне объект нахрен не нужен. Сгенерил throw и удалитьь бы его стразу, не подскажите?

Содержание

Сообщения в этом обсуждении
"А могу я вызвать деструктор"
Отправлено sas , 21-Янв-05 19:03 
> из конструктора ? Если например требуемый ресурс не выделился, мне объект
>нахрен не нужен. Сгенерил throw и удалитьь бы его стразу, не
>подскажите?

Читайте книги по С++

Если конструктор  генерит исключение то НИКАКОГО объекта нет вообще.
В этом случае деструктор не будет вызван никогда, что приводит нас к вопросу о  освобождении уже захваченных ресурсов, а это отдельный большой разговор.

Удачи
--- sas


"А могу я вызвать деструктор"
Отправлено Beas , 21-Янв-05 19:16 
Хорошо, я проделаю опыты сам.

А ещё вопрос: как получить pid потомка, пославшего сигнал? Каждому приделываю трубу, как понять из какой надо читать?


"А могу я вызвать деструктор"
Отправлено sas , 21-Янв-05 20:24 
>Хорошо, я проделаю опыты сам.
>
>А ещё вопрос: как получить pid потомка, пославшего сигнал? Каждому приделываю трубу,
>как понять из какой надо читать?

Код в студию. Пример того что делаете и вопрос о том, что хотите.
Кстати посмотрите в сторону select. Может быть и вопрос отпадет.

Удачи
--- sas


"А могу я вызвать деструктор"
Отправлено Beas , 22-Янв-05 10:48 
>д в студию. Пример того что делаете и вопрос о том
>хотите.

Да это неважно; как сделать иначе я придумаю сам.
Нельзя ли получить pid потомка, прервавшего работу
предка сигналом?Любым сигналом signal(SIGUSR1, parent_func);
Или единсвенный способ - waitpid :-)) ? Их много, надо понять из какой трубы читать.


>Кстати посмотрите в сторону select. Может быть и
>вопрос отпадет.

в смысле сокетами? пипе попроще