Changeset 1799


Ignore:
Timestamp:
Mar 16, 2015, 10:26:04 PM (6 years ago)
Author:
Gregg Young
Message:

Add fix for trap on close while filtered dir container was still populating to collector, arc container and tree container after collector experienced the same trap. Ticket [535]

Location:
trunk/dll
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/dll/arccnrs.c

    r1782 r1799  
    106106  06 Apr 14 GKY Removed all BZ/GZ checks
    107107  28 Jun 14 GKY Fix errors identified with CPPCheck; Fix retry to create workdir code
     108  16 Mar 15 GKY Add semaphore hmtxFiltering to prevent freeing dcd while filtering. Prevents
     109                a trap when FM2 is shutdown or the container is closed while arc
     110                container is still populating
    108111
    109112***********************************************************************/
     
    22782281      WinSendMsg(dcd->hwndCnr, UM_CLOSE, MPVOID, MPVOID);
    22792282      WinSetWindowPtr(dcd->hwndCnr, QWL_USER, NULL);    // 13 Apr 10 SHL Set NULL before freeing dcd
     2283      DosRequestMutexSem(hmtxFiltering, SEM_INDEFINITE_WAIT);
    22802284      free(dcd);
     2285      DosReleaseMutexSem(hmtxFiltering);
    22812286#     ifdef FORTIFY
    22822287      Fortify_LeaveScope();
  • trunk/dll/collect.c

    r1741 r1799  
    8484  13 Dec 13 SHL CollectorCnrWndProc IDM_FILTER: avoid exception on missing fileName
    8585  22 Feb 14 GKY Fix warn readonly yes don't ask to work when recursing directories.
     86  16 Mar 15 GKY Add semaphore hmtxFiltering to prevent freeing dcd while filtering. Prevents
     87                a trap when FM2 is shutdown or the container is closed while collector
     88                container is still populating
    8689
    8790***********************************************************************/
     
    11601163      FreeList(dcd->lastselection);
    11611164      WinSetWindowPtr(dcd->hwndCnr, QWL_USER, NULL);    // 13 Apr 10 SHL Set NULL before freeing dcd
     1165      DosRequestMutexSem(hmtxFiltering, SEM_INDEFINITE_WAIT);
    11621166      free(dcd);
     1167      DosReleaseMutexSem(hmtxFiltering);
    11631168#     ifdef FORTIFY
    11641169      Fortify_LeaveScope();
  • trunk/dll/treecnr.c

    r1796 r1799  
    9494                by RWS but I think the occasional extra blank directory or duplicating
    9595                directories is related.
     96  16 Mar 15 GKY Add semaphore hmtxFiltering to prevent freeing dcd while filtering. Prevents
     97                a trap when FM2 is shutdown or the container is closed while tree
     98                container is still populating
    9699
    97100***********************************************************************/
     
    10121015                 UM_CLOSE, MPFROMLONG(dcd->dontclose != FALSE), MPVOID);
    10131016      WinSetWindowPtr(dcd->hwndCnr, QWL_USER, NULL);    // 13 Apr 10 SHL Set NULL before freeing dcd
     1017      DosRequestMutexSem(hmtxFiltering, SEM_INDEFINITE_WAIT);
    10141018      free(dcd);
     1019      DosReleaseMutexSem(hmtxFiltering);
    10151020#     ifdef FORTIFY
    10161021      Fortify_LeaveScope();
Note: See TracChangeset for help on using the changeset viewer.