Спасибо, что просветили по поводу потоков. Я не мог понять для OpenVMS они или для DEC-овского UNIX-a. Кстати, потоки поддерживаются в OpenVMS? хотя бы в 7.3?
Проблема конечно не моя, но меня очень интересует, как она понимается или решается в рамках VMS (кажется, решили ее как раз именно так, через dcl скрипт). Программа была простая, делался fork, один слушал интернет, а другой пинговал интернет. На другой vms запускался такой же процесс и все. Получался обмен данными. 2x2.требовалось лишь только иметь один общий настроечный файл, но ведь никто не мешает процессу потомку прочитать его снова. Насколько я знаю, в обычном fork общими остаются открытые дексрипторы файлов и потоки ввода/вывода/ошибок, а также все присоединенные общие сегменты памяти (shmop).
>>Интересно, конечно было бы ваше мнение все таки по статьям.
> Честно говоря, мне хотелось бы понять первичную цель. Механического порта кода
Да, я все таил надежду, что можно извратиться как нить и опля, все хорошо.
Насколько я понял это невозможно из-за архитектурных особенностей?
>с fork-ом не получиться, это очевидно. Под OpenVMS 7.0 и выше
>можно пользовать для простоты PIPE(s) - это метод грубый и обычно
>не пользуется VMS-никами, однако для униходиов може быть единственно понятным. Это
>порождение подпроцесса с DCL и выдача команд в поток, и получения
>в зад потока вывода.
>
> Что вам-то требуется?
А какой способ обычно используется инженерами VMS, если к примеру мне надо иметь общие данные между двумя процессами, запущенными одновременно, например структуру и достаточно интенсивное межпроцессное взаимодействие. Я в том смысле, что есть два потока-процесса, водном из которых слушается инет, а во втором запихиваются данные в инет должны реализовать некий протокол обена данными, т.е. пересылка данных в одном потоке-процессе, зависят от принятия некоторого сигнального пакета в другом процесс-потоке.
Все не расжевывайте, доки в инет полно, просто основной концепции достаточно, с указанием названий функций.
С уважением Александр.