[Решено] Не работает у 2 пользователей одновременно

Сообщаем о найденных ошибках сюда

[Решено] Не работает у 2 пользователей одновременно

Postby ache » Mon May 11, 2009 11:08 pm

Линукс. Залогинены 2 пользователя. Если один запустил Goldendict от своего имени, другой запустить программу уже не сможет. Баг? Фича?
Last edited by ache on Sun May 17, 2009 4:46 pm, edited 1 time in total.
ache
 
Posts: 30
Joined: Fri Apr 03, 2009 11:06 am

Re: Не работает у 2 пользователей одновременно

Postby ikm » Mon May 11, 2009 11:13 pm

Фича. Это к Ars, у него был код проверки, не запущено ли.
ikm
Автор GoldenDict
 
Posts: 1595
Joined: Wed Feb 04, 2009 10:40 am

Re: Не работает у 2 пользователей одновременно

Postby Ars » Mon May 11, 2009 11:45 pm

В линуксе список процессов мапится на /proc, который глобален для всех юзеров.
Плохой баг. Посмотрю, как обойти можно.
Ars
 
Posts: 119
Joined: Sat Feb 21, 2009 11:03 pm

Re: Не работает у 2 пользователей одновременно

Postby ikm » Mon May 11, 2009 11:52 pm

Вообще принято обычно делать файл типа ~/.goldendict/pid и проверять при запуске, жив ли pid, который в нём записан. Если файл есть и pid жив, значит, процесс скорее всего уже запущен и работает. Если pid-файла нет, программа очевидно еще не запущена. Если pid-файл есть, но pid не жив, значит, в прошлый раз программа неожиданно была прибита, и можно запускаться всё равно.
ikm
Автор GoldenDict
 
Posts: 1595
Joined: Wed Feb 04, 2009 10:40 am

Re: Не работает у 2 пользователей одновременно

Postby Ars » Tue May 12, 2009 12:02 am

ага, и в винде такое тоже должно сработать... хороший вариант, попробую
Ars
 
Posts: 119
Joined: Sat Feb 21, 2009 11:03 pm

Re: Не работает у 2 пользователей одновременно

Postby ikm » Tue May 12, 2009 12:05 am

В винде обычно какой-нибудь named-объект создают. Они не выживают после перезагрузки :)
ikm
Автор GoldenDict
 
Posts: 1595
Joined: Wed Feb 04, 2009 10:40 am

Re: Не работает у 2 пользователей одновременно

Postby ache » Tue May 12, 2009 11:38 am

Ars wrote:В линуксе список процессов мапится на /proc, который глобален для всех юзеров.
Плохой баг. Посмотрю, как обойти можно.

Можно просто посмотреть владельца соответствующей процессу директории в /proc. Например, функцией stat.
Или можно проверить, запущен ли процесс от имени текущего пользователя, функцией kill(процесс, 0), но это не сработает, если пользователь с правами root.
ache
 
Posts: 30
Joined: Fri Apr 03, 2009 11:06 am

Re: Не работает у 2 пользователей одновременно

Postby Ars » Wed May 13, 2009 9:20 am

Должно работать уже, просьба проверить и подтвердить.
Ars
 
Posts: 119
Joined: Sat Feb 21, 2009 11:03 pm

Re: Не работает у 2 пользователей одновременно

Postby ache » Thu May 14, 2009 10:14 pm

Ars wrote:Должно работать уже, просьба проверить и подтвердить.

Версия из SVN, revision 301, не работает. При запуске от 2-го пользователя в консоль ничего не пишет. По отдельности у обоих пользователей работает.

Linux, AMD64. Какая нужна информация о системе?
ache
 
Posts: 30
Joined: Fri Apr 03, 2009 11:06 am

Re: Не работает у 2 пользователей одновременно

Postby Ars » Fri May 15, 2009 7:57 am

ache wrote:При запуске от 2-го пользователя в консоль ничего не пишет. По отдельности у обоих пользователей работает.


В консоль ничего и не должно писаться.

А можно подробнее? Что именно не работает? Когда логинится 2 человека, у второго программа не запускается?
Ars
 
Posts: 119
Joined: Sat Feb 21, 2009 11:03 pm

Next

Return to Ошибки

Who is online

Users browsing this forum: hongfarma and 5 guests