Re: Can a windows DLL have more than one process attached?

Поиск
Список
Период
Сортировка
От Mikhail Terekhov
Тема Re: Can a windows DLL have more than one process attached?
Дата
Msg-id 3C0586F4.2070703@emc.com
обсуждение исходный текст
Ответ на Can a windows DLL have more than one process attached?  (Tom Lane <tgl@sss.pgh.pa.us>)
Список pgsql-interfaces
> where netmsgModule is
> 
> static HINSTANCE netmsgModule = NULL;
> 

That is definitely my bug (cut&paste problem:(). There shouldn't be a
static variable in *.h files. Sorry :(.


> This sure looks to me like it will fail miserably if more than one
> process can attach to the DLL concurrently: won't the first one to
> detach release the netmsg library, breaking access to it for all the
> remaining processes?
> 

There is no problem here - LoadLibrary and FreeLibrary use reference
count (see references in the Ross's message).


> I don't know enough about Windows to know if there's really a problem
> here, but the code looks fishy to me.  I'd expect to need a reference
> count.  Comments anyone?
> 
Windows really does reference count here.


Regards,
Mikhail



В списке pgsql-interfaces по дате отправления:

Предыдущее
От: Tom Lane
Дата:
Сообщение: Re: Can a windows DLL have more than one process attached?
Следующее
От: Mikhail Terekhov
Дата:
Сообщение: Re: Can a windows DLL have more than one process attached?