Re: [3/4] ntdll: Implement the timer queue thread.

2008-07-23 Thread Rob Shearman
Hi Dan,

2008/7/23 Dan Hipschman [EMAIL PROTECTED]:
 This isn't the most efficient implementation, but it works, and it should
 not be difficult to tweak.  Hence, I'd rather get this version in and add
 the optimizations one at a time, in little patches.  Get it working first...

Yes, I think you're right. I don't think it will be too hard to change
the architecture of this to that of my suggestions.

However, I have one minor nit.

 +static void WINAPI timer_queue_thread_proc(LPVOID p)
 +{
 +struct timer_queue *q = p;
 +ULONG timeout_ms;
 +BOOL done;
 +
 +timeout_ms = INFINITE;
 +while (!q-quit)
 +{
 +LARGE_INTEGER timeout;
 +DWORD ret = NtWaitForSingleObject(q-event, FALSE,
 +  get_nt_timeout(timeout, 
 timeout_ms));

This should be NTSTATUS.

 +
 +if (ret == STATUS_TIMEOUT)
 +queue_timer_expire_next(q);
 +
 +RtlEnterCriticalSection(q-cs);
 +timeout_ms = timer_queue_update(q);
 +RtlLeaveCriticalSection(q-cs);
 +}

-- 
Rob Shearman




Re: [3/4] ntdll: Implement the timer queue thread.

2008-07-23 Thread Alexandre Julliard
Rob Shearman [EMAIL PROTECTED] writes:

 2008/7/23 Dan Hipschman [EMAIL PROTECTED]:
 This isn't the most efficient implementation, but it works, and it should
 not be difficult to tweak.  Hence, I'd rather get this version in and add
 the optimizations one at a time, in little patches.  Get it working 
 first...

 Yes, I think you're right. I don't think it will be too hard to change
 the architecture of this to that of my suggestions.

Actually I think the code will be much simpler with a sorted timer list,
so I'd suggest to start with that.

-- 
Alexandre Julliard
[EMAIL PROTECTED]