Страница 1 из 1

Использование семафоров

Добавлено: 26 май 2010, 13:05
Vik
Вопрос такой: возможно ли узнать пользователя, который выставил блокирующий семафор? Если да, то как это можно сделать? СУБД - MSSQL. В таблицу X$SEMAFORS смотреть бесполезно - там пусто..

Добавлено: 26 май 2010, 15:25
Vik
Ни у кого идей нет? Может какая-то таблица блокировок есть для этого? Порылся в саппорте, нашел несколько подходящих табличек, аля FpLockData, но я так понял, она для бюджета, не общая..

Добавлено: 27 май 2010, 00:11
m0p3e
На сиквеле блокировки NAP контролирует. В БД искать бесполезно. В мониторе NAP можно поискать.

Добавлено: 27 май 2010, 10:26
Vik
То есть, программно никак не понять, кто семафор выставил?

Re:

Добавлено: 10 июн 2010, 10:40
Maverick
Vik писал(а):То есть, программно никак не понять, кто семафор выставил?
выставление семафоров реализуется на системном уровне, соответственно на прикладном отловить невозможно. попытайтесь все-таки монитор юзать

Re: Использование семафоров

Добавлено: 10 июн 2010, 10:55
m0p3e
Можно и на прикладном :)
Делал я такую приблуду под сиквел и первазиву, только не помню был ли там юзер выставивший семафор. Исходники выслал воспрошавшему.
Кстати, Vik помогли ли сырцы? :)

Re: Использование семафоров

Добавлено: 10 июн 2010, 11:00
Vik
Я уже это уловил, что на системном уровне реализация. Пока сделал на прикладном уровне, используя бюджетный объект для работы с семафором. Как время появится буду изучать то, что вы прислали, m0p3e .

Re: Использование семафоров

Добавлено: 10 июн 2010, 19:55
Screw
Морзе, огласи для публики суть твоей разработки, пожалуйста. С какой целью оная творилась? Чем отличалась от системной реализации?

Re: Использование семафоров

Добавлено: 10 июн 2010, 22:17
m0p3e
Началось все с этой темы http://www.tyumbit.ru/gal_forum/viewtop ... f=2&t=8306
Необходимо было дать возможность пользователям видеть, что в системе запущен некий процесс(ы).
Была написана на дельфях софтинка висящая в трее и отслеживающая наличие определенных семафоров. Пока работали на первасиве достаточно было читать x$semafors. После перехода на MSSQL оказалось, что x$semafors бесполезна. Пришлось поковырять NAPсервер и в результате научил софтинку читать семафоры напрямую из него используя стандартную napcli.
Никакой новой моей реализации нет. Просто решение стандартной проблемы взаимодействия Галактики и внешних приложений.