Язык процедур 2-REXX для OS-2


Функция RXQUEUE - часть 3


Однако синхронизация запросов (когда два процесса, имеющие доступ к одной и той же очереди, получают данные из этой очереди в порядке регистрации их запросов) является обязанностью пользователя и не обеспечивается подсистемой. Данный селектор принадлежит вызывающей прикладной программе и должен быть освобожден этой программой с помощью DosFreeSeg.

  • Стандартная очередь IPC операционной системы OS/2 принадлежит конкретному процессу (создается по его запросу). После завершения процесса очередь разрушается. В то же время очереди, созданные с помощью функции RxQueue('Create', имя-очереди) существуют до тех пор, пока не будут ЯВНО удалены. Завершение выполнения программы или процедуры, создавшей личную очередь, не влечет за собой принудительного удаления личной очереди. Любые данные в очереди после завершения процесса создания остаются в ней до тех пор, пока либо данная очередь не будет удалена (с помощью обращения к функции REXX RxQueue('Delete', имя-очереди), либо пока данные не будут прочитаны.

    Очереди данных должны быть явно удалены некоторой процедурой или программой (не обязательно программой, создавшей очередь). Удаление очереди, в которой остались элементы, разрушает эти элементы. Если очередь не удалена, то она будет потеряна и ее невозможно будет восстановить, кроме как при случайной попытке получить доступ к каждой очереди в определенном порядке.




    - Начало -  - Назад -