Changeset 1570 for trunk/dll/tmrsvcs.c


Ignore:
Timestamp:
Jun 13, 2011, 12:09:19 AM (14 years ago)
Author:
Gregg Young
Message:

Added IdleIfNeeded to place load and free loops to idle priority when dealing with large numbers of items. Used SleepIfNeeded more places for a similar purpose.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/dll/tmrsvcs.c

    r1521 r1570  
    99
    1010  05 Jan 08 SHL Baseline
     11  12 Jun 11 GKY Added IdleIfNeeded to the container/list fill and free loops to improve system
     12                responsiveness when dealing with large numbers of items
    1113
    1214***********************************************************************/
     
    107109}
    108110
    109 #pragma alloc_text(TMRSVCS,InitITimer,IsITimerExpired,SleepIfNeeded)
     111ULONG IdleIfNeeded(ITIMER_DESC *pitd, LONG delta)
     112{
     113  APIRET rc;
     114
     115  if (IsITimerExpired(pitd)) {
     116    rc = DosSetPriority(PRTYS_THREAD,PRTYC_IDLETIME,delta,0L);
     117    InitITimer(pitd, 0);
     118    return rc;
     119  }
     120  return 1;
     121}
     122
     123#pragma alloc_text(TMRSVCS,InitITimer,IsITimerExpired,SleepIfNeeded,IdleIfNeeded)
Note: See TracChangeset for help on using the changeset viewer.