http://bugs.winehq.org/show_bug.cgi?id=29168 --- Comment #139 from Xolotl Loki <xoloki(a)gmail.com> 2012-03-09 02:25:37 CST --- (In reply to comment #138)
Every thread reserves it then writes to it in thread_init.
Just realized that only the initial thread reserves and writes the virtual memory address. I also realized what's different between my NtSetTimer and Carsten's patch: Carsten's ends up calling update_shared_data_time every couple of microsecs: 0045:fixme:ntdll:update_shared_data_time 129757528561624540 0045:fixme:ntdll:update_shared_data_time 129757528561624570 0045:fixme:ntdll:update_shared_data_time 129757528561624640 0045:fixme:ntdll:update_shared_data_time 129757528561624670 My NtTimer code, when set to fire every 100 nanosecs: NtQuerySystemTime( &when ); when.QuadPart += 1; status = NtSetTimer(handle, &when, (PTIMER_APC_ROUTINE)shared_data_timer_apc, handle, 0, 0, NULL); only fires every 150 microsecs: 000f:fixme:ntdll:update_shared_data_time 129757541427830810 000f:fixme:ntdll:update_shared_data_time 129757541427832270 000f:fixme:ntdll:update_shared_data_time 129757541427833710 000f:fixme:ntdll:update_shared_data_time 129757541427835170 If I set it to fire every 10 microsecs it actually does better: 000f:fixme:ntdll:update_shared_data_time 129757548414991300 000f:fixme:ntdll:update_shared_data_time 129757548414992020 000f:fixme:ntdll:update_shared_data_time 129757548414992820 000f:fixme:ntdll:update_shared_data_time 129757548414993800 Next I'll try a dedicated thread which just sets the times and does a nanosleep... -- Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email Do not reply to this email, post in Bugzilla using the above URL to reply. ------- You are receiving this mail because: ------- You are watching all bug changes.