Bug 648

Summary: Не запускаются программы на FreeBSD
Product: WINE@Etersoft Reporter: Vitaly Lipatov <lav>
Component: ОбщееAssignee: Pavel Vainerman <pv>
Status: CLOSED FIXED QA Contact:
Severity: normal    
Priority: P5    
Version: 1.0.8   
Target Milestone: ---   
Hardware: PC   
OS: FreeBSD   
Whiteboard:
Заявки RT: Связано с:
Дата напоминания:
Bug Depends on:    
Bug Blocks: 584, 812, 7474    

Description Vitaly Lipatov 2007-06-26 23:25:40 MSD
Бага по этой теме в winehq:
http://bugs.winehq.org/show_bug.cgi?id=5732

Проблема связана с тем, что во FreeBSD другое разделение памяти (не 3/1G, как в Windows/Linux, а 2/2G).
Comment 1 Vitaly Lipatov 2007-06-28 19:35:32 MSD
Есть отдельный loader для FreeBSD и описание известных проблем:
http://wiki.freebsd.org/Wine
Comment 2 Vitaly Lipatov 2007-08-30 17:08:50 MSD
Ждём пока эти патчи будут полностью интегрированы.
Comment 3 Vitaly Lipatov 2007-12-14 22:29:26 MSK
Сейчас проблема с патчем mcache. Надо скорее найти ошибку к пересборке.
Comment 4 Vitaly Lipatov 2007-12-14 23:05:12 MSK
Для FreeBSD отключен
Comment 5 Vitaly Lipatov 2007-12-22 13:27:51 MSK
Сейчас падает на вызове times.
Не говорю уж об отсутствии проверки 
результата tick_per_sec = sysconf(_SC_CLK_TCK);
и возможного дальшейшего деления на 0.
Надо перевести на NtGetTickCount.

Comment 6 Vitaly Lipatov 2007-12-22 13:35:19 MSK
Для любителей times(0) маленькая строчка из man times:
       On Linux, the buf argument can be specified as NULL, with the result that times() just returns a function result.  However, POSIX does not  specify  this  behaviour, and most other Unix implementations require a non-NULL value for buf.

Нужно использовать NtGetTickCount, согласно документации, она возвращает ULONG, количество времени в мс, прошедшее со старта системы.
Comment 7 Vitaly Lipatov 2007-12-22 14:41:19 MSK
Закоммитил исправленный mcache.
Осталось смутное сомнение, что NtGetTickCount действительно возвращает миллисекунды.
Comment 8 Pavel Vainerman 2007-12-24 21:15:03 MSK
(In reply to comment #7)
> Закоммитил исправленный mcache.
> Осталось смутное сомнение, что NtGetTickCount
> действительно возвращает миллисекунды.
Ну вроде так.
Здесь есть интересное обсуждение: 
http://rsdn.ru/Forum/message/1320018.flat.aspx