LINUX.ORG.RU

fortune _очень_ часто показывает первую запись фартунок


0

0

Что-то "ламеры виндовозные" уже начинают утомлять..

Пример нескольких последовательных выполнений fortune

bash-3.1$ fortune всю жизнь знал, что главная беда линукса - в ламерах виндовозных, у которых млять указательный палец к мышке прирос... за*бали уже... --gr_buza(linux.org.ru) bash-3.1$ fortune Re: Solaris "Nevada", Build 15

Слоуварис "Неннаадааа!" 15-цатой постройки --anonymous(linux.org.ru) bash-3.1$ fortune всю жизнь знал, что главная беда линукса - в ламерах виндовозных, у которых млять указательный палец к мышке прирос... за*бали уже... --gr_buza(linux.org.ru) bash-3.1$ fortune всю жизнь знал, что главная беда линукса - в ламерах виндовозных, у которых млять указательный палец к мышке прирос... за*бали уже... --gr_buza(linux.org.ru) bash-3.1$ fortune Хотя известно, что глупость не заразна, я на всякий случай надеваю марлевую повязку как только Ленин начинает отвечать на сообщения --blaster999(linux.org.ru)

Слака 11. То же было и на 10-й... Сжальтесь, подскажите как полечить.. :)

anonymous

Что-то "ламеры виндовозные" уже начинают утомлять..

Пример нескольких последовательных выполнений fortune

bash-3.1$ fortune
всю жизнь знал, что главная беда линукса - в ламерах виндовозных, у которых млять указательный палец к мышке прирос... за*бали уже...
--gr_buza(linux.org.ru)
bash-3.1$ fortune
Re: Solaris "Nevada", Build 15

Слоуварис "Неннаадааа!" 15-цатой постройки
--anonymous(linux.org.ru)
bash-3.1$ fortune
всю жизнь знал, что главная беда линукса - в ламерах виндовозных, у которых млять указательный палец к мышке прирос... за*бали уже...
--gr_buza(linux.org.ru)
bash-3.1$ fortune
всю жизнь знал, что главная беда линукса - в ламерах виндовозных, у которых млять указательный палец к мышке прирос... за*бали уже...
--gr_buza(linux.org.ru)
bash-3.1$ fortune
Хотя известно, что глупость не заразна, я на всякий случай надеваю марлевую повязку как только Ленин начинает отвечать на сообщения
--blaster999(linux.org.ru)


Слака 11. То же было и на 10-й... Сжальтесь, подскажите как полечить.. :)

anonymous
()
Ответ на: комментарий от ero-sennin

Я сначала тоже так думал. Цельнометаллический короб не спасает.. Может аппаратная закладка?

anonymous
()
Ответ на: комментарий от ero-sennin

Какой еще /dev/urandom???

patrakov@home:~$ strace -e open fortune
open("/etc/ld.so.cache", O_RDONLY)      = 3
open("/usr/lib/librecode.so.0", O_RDONLY) = 3
open("/lib/tls/i686/cmov/libc.so.6", O_RDONLY) = 3
open("ru_RU.UTF-8", O_RDONLY)           = -1 ENOENT (No such file or directory)
open("ru", O_RDONLY)                    = -1 ENOENT (No such file or directory)
open("/usr/local/share/games/fortunes", O_RDONLY) = 3
open("/usr/local/share/games/fortunes", O_RDONLY|O_NONBLOCK|O_LARGEFILE|O_DIRECTORY) = 3
open("/usr/share/games/fortunes", O_RDONLY) = 5
open("/usr/share/games/fortunes", O_RDONLY|O_NONBLOCK|O_LARGEFILE|O_DIRECTORY) = 5
open("/usr/share/games/fortunes/fortunes.dat", O_RDONLY) = 7
open("/usr/share/games/fortunes/fortunes", O_RDONLY) = 7
open("/usr/share/games/fortunes/literature.dat", O_RDONLY) = 9
open("/usr/share/games/fortunes/literature", O_RDONLY) = 9
open("/usr/share/games/fortunes/riddles.dat", O_RDONLY) = 10
open("/usr/share/games/fortunes/riddles", O_RDONLY) = 10
open("/usr/share/games/fortunes/literature.u8", O_RDONLY) = 11
open("/usr/share/games/fortunes/fortunes.u8", O_RDONLY) = 11
open("/usr/share/games/fortunes/riddles.u8", O_RDONLY) = 11
open("/usr/lib/locale/locale-archive", O_RDONLY|O_LARGEFILE) = 11
open("/usr/share/games/fortunes/fortunes.dat", O_RDONLY) = 11
open("/usr/share/games/fortunes/literature.dat", O_RDONLY) = 11
open("/usr/share/games/fortunes/riddles.dat", O_RDONLY) = 11
open("/usr/share/games/fortunes/fortunes.dat", O_RDONLY) = 11
You will be awarded some great honor.
Process 3844 detached

и вообще fortune вызывает srandom так:

srandom((int) (time((time_t *) NULL) + getpid()));

т.е. при совпадающих значениях pid два экземпляра fortune, по идее, должны вести себя одинаково.

AEP ★★★★★
()
Ответ на: комментарий от AEP

> srandom((int) (time((time_t *) NULL) + getpid())); >т.е. при совпадающих значениях pid два экземпляра fortune, по идее, должны вести себя одинаково.

оопс, забыл про time((time_t *) NULL).

AEP ★★★★★
()
Ответ на: комментарий от AEP

Странно.. по идее все должно быть нормально.. А у меня даже при логине почти всегда про "виндовозных" показывает (это первая цитата в фортунках).. =\

anonymous
()
Ответ на: комментарий от anonymous

>srandom((int)(time((time_t *) NULL) ^ getpid() * getpid()));

"ниасилив" тайного смысла возведения в квадрат и исключающего или, сделал так:

srandom((int)(time((time_t *) NULL) + getpid()));

Полет нормальный. 8)

Вопрос правда открыт, почему не работало то? =О

anonymous
()
Ответ на: комментарий от AEP

>Наверное в слаке старая версия fortune

Бугага.. bsd-games-2.13 - это из прошлого столетия вроде.. Патрег жжот! :D

diff /tmp/bsd-games-2.13/fortune/fortune/fortune.c /tmp/bsd-games-2.17/fortune/fortune/fortune.c

...

242,243c240,245
< 	//srandom((int)(time((time_t *) NULL) ^ getpid() * getpid()));
< 	srandom((int)(time((time_t *) NULL) + getpid()));
---
> 	if (gettimeofday(&tv, NULL) != 0)
> 		err(1, "gettimeofday()");
> 	srandom(((unsigned long)tv.tv_sec)    *
>                 ((unsigned long)tv.tv_usec+1) *
> 	        ((unsigned long)getpid()+1)   *
>                 ((unsigned long)getppid()+1));

...

Наверное это баг был.. Интересно, а почему остальные слаководы молчат.. =\

anonymous
()
Ответ на: комментарий от anonymous

Не знаю. Я не слаковод, и до сих пор даже не знал, что fortune бывает не только из fortune_mod, но и из bsd-games :)

AEP ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.