Changeset 1320


Ignore:
Timestamp:
Dec 5, 2008, 3:10:20 PM (17 years ago)
Author:
Gregg Young
Message:

Use event semaphore to prevent rescan of drives while StubbySacnTreads are still running; code cleanup.

Location:
trunk/dll
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/dll/filldir.c

    r1319 r1320  
    223223        if (StubbyScan->FirstDrive) {
    224224          priority_critical();
    225           DbgMsg(pszSrcFile, __LINE__, "StubbyScanCount %i", StubbyScanCount);
    226225          while (StubbyScanCount != 0)
    227226            DosSleep(50);
     
    15631562    HWND hwndDrivesList = WinWindowFromID(WinQueryWindow(hwndParent, QW_PARENT),
    15641563                                          MAIN_DRIVELIST);
    1565     PULONG pulPostCt;
    15661564    BOOL FirstDrive = TRUE;
    15671565
  • trunk/dll/init.c

    r1317 r1320  
    165165PFNWP PFNWPMLE;
    166166CHAR ThousandsSeparator[2];
     167BOOL fInitialDriveScan;
    167168BOOL fAmAV2;
    168169BOOL fChangeTarget;
     
    11921193    Dos_Error(MB_ENTER, rc, HWND_DESKTOP, pszSrcFile, __LINE__,
    11931194              GetPString(IDS_CREATESEMFAILED));
     1195  fInitialDriveScan = TRUE;
     1196
    11941197  /*
    11951198   * set some defaults (note: everything else automatically initialized
  • trunk/dll/init.h

    r1317 r1320  
    6666extern CHAR *WC_TREESTATUS;
    6767extern CHAR *WC_VIEWSTATUS;
     68extern BOOL fInitialDriveScan;
    6869extern BOOL fAmAV2;
    6970extern BOOL fChangeTarget;
  • trunk/dll/treecnr.c

    r1316 r1320  
    802802      Runtime_Error2(pszSrcFile, __LINE__, IDS_NODATATEXT);
    803803    else {
     804      PULONG pulPostCt;
     805
    804806      RemoveCnrItems(dcd->hwndCnr, NULL, 0, CMA_FREE | CMA_INVALIDATE | CMA_ERASE);
    805807      WinSendMsg(dcd->hwndCnr,
     
    808810                 CM_SCROLLWINDOW,
    809811                 MPFROMSHORT(CMA_HORIZONTAL), MPFROMLONG(-1));
    810       while (StubbyScanCount !=0)
    811         DosSleep(50);
     812      if (!fInitialDriveScan) {
     813        DosWaitEventSem(DriveScanStart, 20000);
     814        pulPostCt = xmallocz(sizeof(ULONG), pszSrcFile, __LINE__);
     815        if (pulPostCt) {
     816          DosResetEventSem(DriveScanStart, pulPostCt);
     817          free(pulPostCt);
     818        }
     819      }
     820      else
     821        fInitialDriveScan = FALSE;
    812822      FillTreeCnr(dcd->hwndCnr, dcd->hwndParent);
    813823      if (fOkayMinimize) {
Note: See TracChangeset for help on using the changeset viewer.