On-line: гостей 0. Всего: 0 [подробнее..]
АвторСообщение
постоянный участник




Пост N: 146
Зарегистрирован: 24.09.05
ссылка на сообщение  Отправлено: 21.07.10 14:36. Заголовок: Таймаут при ошибке открытия


fOpen("filename.ext",foExclusive)

Если файл уже открыт, то прежде чем fopen() вернет -1, проходит около 3-4 секунд, при этом система загружена на 100% и ничего сделать нельзя. Если программа постоянно проверяет, можно ли открыть файл монопольно, а он занят, то делать что-то другое на этом компьютере вообще невозможно - все ресурсы уходят на элементарную в сущности операцию.

как заставить винду возвращать ошибку немедленно (параметр в реестре?)

Спасибо: 0 
ПрофильЦитата Ответить
Ответов - 15 [только новые]


администратор




Пост N: 1813
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 21.07.10 15:22. Заголовок: Та же фигня , так и ..


Та же фигня , так и не решил эту проблему.

Спасибо: 0 
ПрофильЦитата Ответить





Пост N: 144
Зарегистрирован: 12.11.06
ссылка на сообщение  Отправлено: 21.07.10 15:54. Заголовок: А если? Когда-то дел..


А если? Когда-то делал:

1. Делаю копию файла (некоторые функции не дают скопировать и возвращают ошибку (можно анализировать))
2. Пытаюсь записать вместо (при открытом файле возврат ошибки), а если получилось, то "вернуть" файл и открывать как хотите...

Спасибо: 0 
ПрофильЦитата Ответить



Не зарегистрирован
Зарегистрирован: 01.01.70
ссылка на сообщение  Отправлено: 22.07.10 16:45. Заголовок: На серверах NT-шной ..


На серверах NT-шной линии раньше редактировали реестр:
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters]
"SharingViolationRetries"=dword:00000001
"SharingViolationDelay"=dword:00000030
Тут уменьшается количество попыток блокировок и сокращается время ожидания между ними. Но наверное могут быть и отрицательные последствия, хотя какие- не знаю. Не все администраторы нам такое изменение позволяли сделать.
Потом ушли от попыток открыть файл монопольно путем введения таблицы MONITOR.DBF. В нее записывается при открытии каждая таблица с указанием пользователя и блокируется. После этого для определения - открыт ли файл - выполняется поиск записи о нем в мониторе и попытка блокировки записи. Это существенно быстрее. Побочный эффект - можно в любой момент узнать кто работает с базой. При нормальном выходе из программы записи, созданные выходящим пользователем, удаляются. Если кто-то отвалился аварийно, то его записи разблокируются и остаются. Это позволяет оповещать пользователей об аварийной ситуации

Спасибо: 0 
Цитата Ответить
постоянный участник


Пост N: 416
Зарегистрирован: 27.01.07
ссылка на сообщение  Отправлено: 22.07.10 20:54. Заголовок: ...и еще можно попро..


...и еще можно попробывать:
The simplest way to resolve problems related to oplocks is to disable them on behalf of the LAN Manager server.

This is done by manipulating the following registry key:

\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters

EnableOplocks REG_DWORD 0 or 1
Default: 1 (true)
Specifies whether the server allows clients to use oplocks on files. Oplocks are a significant performance enhancement, but have the potential to cause lost cached data on some networks, particularly wide-area networks.

By default, the registry entry is 1 (oplock enabled), as a rule of thumb you should set this key to 0 (disable oplock) when sharing files with Xbase++/Clipper/FoxPro and MS-Access. We have not encountered any performance drawbacks in real-world scenarios after having disabled oplocks. However problems with Xbase++ file-based database applications simple went away after re-configuration of the server.



Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 147
Зарегистрирован: 24.09.05
ссылка на сообщение  Отправлено: 23.07.10 14:39. Заголовок: wad1 пишет: На серв..


wad1 пишет:

 цитата:
На серверах NT-шной линии раньше редактировали реестр:
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters]
"SharingViolationRetries"=dword:00000001
"SharingViolationDelay"=dword:00000030



спасибо. а на линейке 9x/Me ?

Спасибо: 0 
ПрофильЦитата Ответить
администратор




Пост N: 1816
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 23.07.10 15:32. Заголовок: Должен быть какой то..


Должен быть какой то другой способ кроме правки реестра.
Для примера антивирус AVZ в мастере поиска и устранения проблем -> Чистка системы + галка на папке TEMP и
системной папке TEMP , вовсе не "вешается" а срабатывает довольно быстро в то время как в
этих папках может находится кучка залоченных файлов.
Нужно пробовать что то из разряда что предложил AndreyZh или же Юра писать какую то свою
хитрую функцию на ASM (а ты в этом мастер если не ошибаюсь )

Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 30
Зарегистрирован: 11.06.10
ссылка на сообщение  Отправлено: 23.07.10 16:34. Заголовок: Простенький примерчи..


Простенький примерчик (clipper 5.3b)

?fopen("aa.txt",16),time()
?fopen("aa.txt",16),time()
inkey(0)

Результат, проверял на 98 и ХР
handle time
6 16:31:00
-1 16:31:00

Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 31
Зарегистрирован: 11.06.10
ссылка на сообщение  Отправлено: 23.07.10 16:42. Заголовок: Dima пишет: А попро..


Dima пишет:

 цитата:
А попробуй fopen("aa.txt",18)



?fopen("aa.txt",18),time()
?"ferror=",ferror(),time()
?fopen("aa.txt",18),time()
?"ferror=",ferror(),time()
inkey(0)

Результат
xp
6 16:39:39
ferror= 0 16:39:39
-1 16:39:39
ferror= 5 16:39:39

98
6 16:40:47
ferror= 0 16:40:47
-1 16:40:47
ferror= 5 16:40:47

Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 32
Зарегистрирован: 11.06.10
ссылка на сообщение  Отправлено: 23.07.10 16:46. Заголовок: А файл случайно не в..


А файл случайно не в сетке лежит?

Спасибо: 0 
ПрофильЦитата Ответить
администратор




Пост N: 1818
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 23.07.10 16:49. Заголовок: AlexMyr пишет: А фа..


AlexMyr пишет:

 цитата:
А файл случайно не в сетке лежит?


В сетке

PS
Хммм , странно , раньше была задержка а сейчас ее нет (файлы лежат на сервере Novell)
Полтергейст

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 1454
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 24.07.10 11:17. Заголовок: Dima пишет: файлы л..


Dima пишет:

 цитата:
файлы лежат на сервере Novell)



Для Новела можно воспользоваться функциями семафора, там в NG были они. В свое время пользовался ими.

Спасибо: 0 
ПрофильЦитата Ответить
администратор




Пост N: 1819
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 24.07.10 11:27. Заголовок: Andrey пишет: Для Н..


Andrey пишет:

 цитата:
Для Новела можно воспользоваться функциями семафора


Библиотеку не напомнишь ? ;)

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 1469
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 24.07.10 22:16. Заголовок: Dima пишет: Библиот..


Dima пишет:

 цитата:
Библиотеку не напомнишь ? ;)


Поставка Clipper 5.3 - стандартная... CT2 - функции под НОВЕЛ !
<\/u><\/a>



Спасибо: 0 
ПрофильЦитата Ответить





Пост N: 150
Зарегистрирован: 12.11.06
ссылка на сообщение  Отправлено: 24.07.10 23:44. Заголовок: Поставка Clipper 5.3..



 цитата:
Поставка Clipper 5.3 - стандартная... CT2 - функции под НОВЕЛ !



Нетучки... Пытался найти в своём "мусоре", но увы. Когда-то до 1993 года мы (мой отдел) использовали покупную библиотеку по Novell и там даже "честные" и работающие транзакции и семафоры были. Но как зовётся уже забыл.

Спасибо: 0 
ПрофильЦитата Ответить



Не зарегистрирован
Зарегистрирован: 01.01.70
ссылка на сообщение  Отправлено: 26.07.10 16:51. Заголовок: suv2 пишет: спасиб..


suv2 пишет:

 цитата:

спасибо. а на линейке 9x/Me ?


Серьезные задержки возникали именно на NT (в качестве сервера). На 98 они не были так заметны. На Novell их также не было (Novell - лучший файл-сервер). Про 9X вопрос почему задан - вы такие машины в качестве серверов используете? Проблема именно на серверной стороне, локальные компьютеры на эту проблему не влияют.

Спасибо: 0 
Цитата Ответить
Ответ:
1 2 3 4 5 6 7 8 9
большой шрифт малый шрифт надстрочный подстрочный заголовок большой заголовок видео с youtube.com картинка из интернета картинка с компьютера ссылка файл с компьютера русская клавиатура транслитератор  цитата  кавычки моноширинный шрифт моноширинный шрифт горизонтальная линия отступ точка LI бегущая строка оффтопик свернутый текст

показывать это сообщение только модераторам
не делать ссылки активными
Имя, пароль:      зарегистрироваться    
Тему читают:
- участник сейчас на форуме
- участник вне форума
Все даты в формате GMT  3 час. Хитов сегодня: 169
Права: смайлы да, картинки да, шрифты да, голосования нет
аватары да, автозамена ссылок вкл, премодерация откл, правка нет