Changeset 3634 for trunk


Ignore:
Timestamp:
May 17, 2008, 5:36:09 PM (17 years ago)
Author:
bird
Message:

Fixed serious performance bug. References #195.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/libc/src/kNIX/os2/__spawnve.c

    r3373 r3634  
    2525 *
    2626 */
     27 
     28#define DEBUG_LOGGING 1
    2729
    2830/*******************************************************************************
     
    536538                ULONG ulStart = fibGetMsCount();
    537539                rc = 0;
    538                 while (     (fDoneInherit = pEmbryo->enmState > __LIBC_PROCSTATE_ALIVE
     540                while (     (fDoneInherit = pEmbryo->enmState >= __LIBC_PROCSTATE_ALIVE
    539541                                         || (pEmbryo->pInherit == NULL && pEmbryo->pInheritLocked == NULL)
    540542                            ) == 0
    541543                       &&   fibGetMsCount() - ulStart <= 8)
    542544                {
    543                     DosSleep(!(rc++ % 7));
     545                    DosSleep(rc++ > 4);
    544546                    __libc_spmGetLoadAvg(&LoadAvg, &uLoadAvgTS); /* SMP HACK */
    545547                }
     
    550552                    rc = 0;
    551553                    __libc_spmGetLoadAvg(&LoadAvg, &uLoadAvgTS); /* SMP HACK */
    552                     while (     (fDoneInherit = pEmbryo->enmState > __LIBC_PROCSTATE_ALIVE
     554                    while (     (fDoneInherit = pEmbryo->enmState >= __LIBC_PROCSTATE_ALIVE
    553555                                             || (pEmbryo->pInherit == NULL && pEmbryo->pInheritLocked == NULL)
    554556                                ) == 0
    555557                           &&   fibGetMsCount() - ulStart <= 100)
    556558                    {
    557                         DosSleep(!(rc++ % 7));
     559                        DosSleep(rc++ > 4);
    558560                        __libc_spmGetLoadAvg(&LoadAvg, &uLoadAvgTS); /* SMP HACK */
    559561                    }
Note: See TracChangeset for help on using the changeset viewer.