Возвращаясь к вопросу о классике

2006-02-15 Thread RUST


Только что провернул такую штуку.

UDF

function PID:Integer; cdecl; export;
begin
Result := GetCurrentProcessId;
end;

DECLARE EXTERNAL FUNCTION PID
RETURNS INTEGER BY VALUE
ENTRY_POINT 'PID' MODULE_NAME 'IBUTILS.DLL'



select PID() from rdb$database
выдает PID родного процесса. Именно _РОДНОГО_ а не листенера.

Выводы:
Вводя элементарную таблицу

create table IBCON
(
REMOTE_IP varchar(32) not null primary key,
CON_TS timestamp not null,
PID integer not null
)

можно всегда (при входе в программу например)
заполнить эту таблицу и мы будем иметь всегда
связку PID -> IP_ADDRESS

Ваши камменты?




Re: Возвращаясь к вопросу о классике

2006-02-15 Thread Oleg LOA
"RUST" <[EMAIL PROTECTED]> wrote in message news:[EMAIL PROTECTED]
> 
> Result := GetCurrentProcessId;
> select PID() from rdb$database
> выдает PID родного процесса. Именно _РОДНОГО_ а не листенера.

А что было подозрение о другом?

Re: Возвращаясь к вопросу о классике

2006-02-15 Thread RUST




Result := GetCurrentProcessId;
select PID() from rdb$database
выдает PID родного процесса. Именно _РОДНОГО_ а не листенера.


А что было подозрение о другом?


подозрений не было, было раздражение по-поводу работы

netstat -o -a

когда он выдает pid листенера



Re: Возвращаясь к вопросу о классике

2006-02-22 Thread Konstantin R. Beliaev
RUST wrote:
> можно всегда (при входе в программу например)
> заполнить эту таблицу и мы будем иметь всегда
> связку PID -> IP_ADDRESS

Есть близкое предложение: почему бы в firebird.log не записывать 
удаленный IP, как это делает yaffil?
А таблицу PID -> IP_ADDRESS лучше чтоб поддерживал сервер, а не приложение.