RU/2: Форум. Общение пользователей и разработчиков OS/2 (eCS). : Установка атрибутов файлов из Rexx


Список сообщений | Написать новое | Ответить на сообщение | Домой Поиск:
Предыдущее сообщение | Следующее сообщение
From : Aleksey Tarasow, 2:5053/57, librexx.ru azimut21.ru azimut64.ru
To : dixie
Subj : Установка атрибутов файлов из Rexx

> > Такой вопрос, а есть иной способ установить флаги файлов из Rexx, кроме SysFileTree и attrib?
> DLLю внешнюю написать с нужной функцией?
> Hу или на хоббесе пошаpиться - может кто уже написал.
Изменю вопрос. Опишу ситуацию: есть файлы, в которые могут писать одновременно несколько процессов. Во избежании, было принято решение попытаться их развести. Для чего каждый процесс начал "лочить" файл с которым работает. Для это устанавливается один из атрибутов файлов. Другие процессы проверяют установку этого атрибута, и если он установлен, ждут пока он снимется. Выглядит это так:
call SysFileTree FileActual, 'FileActual','FN','*****'
if FileActual.0>0 then do
do until FileActual.0>0
call SysFileTree FileActual, 'FileActual','FN','**-*-'
if FileActual.0>0 then 'attrib +h "'FileActual'" > nul'
else call SysSleep Random(1,5)/10
end /* until FileSearch.0>0 */
end /* if FileActual.0>0 */
и в конце работы "'attrib -h -s "'FileActual'" > nul'"

При работе без "attrib", обработка 15 файлов занимает чуть больше 1 сек. В текущем виде почти 7 сек. Рост значительный, а обрабатывать привидеться более 400 файлов...

Вопрос: может кто нибудь предложить иной алгоритм развода файлов в разные стороны?

Sun 11 Jan 2015 11:12 Mozilla/5.0 (Windows NT 6.3; WOW64; rv:34.0) Gecko/20100101




Programmed by Dmitri Maximovich, Dmitry I. Platonoff, Eugen Kuleshov.
25.09.99 (c) 1999, RU/2. All rights reserved.
Rewritten by Dmitry Ban. All rights ignored.