Changeset 1860 for trunk/dll/wrappers.c


Ignore:
Timestamp:
Aug 22, 2015, 4:30:34 AM (10 years ago)
Author:
Steven Levine
Message:

Rework FlesWaitForWorkListEmpty to support wait for parents of path
Add more wrappers for mutex and event semaphores
Clean up some obsolete code

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/dll/wrappers.c

    r1848 r1860  
    66  Wrappers with error checking
    77
    8   Copyright (c) 2006, 2008 Steven H.Levine
     8  Copyright (c) 2006, 2015 Steven H.Levine
    99
    1010  22 Jul 06 SHL Baseline
     
    2828                   "#if 0" block for quick implementation should FM/2 start to use them.
    2929                   Among these. xDosOpenL and xWinUpper still need work. The rest are ready for use.
     30  20 Aug 15 SHL Add xDos...MutexSem and xDos..EventSem wrappers
    3031
    3132***********************************************************************/
     
    6869{
    6970  APIRET        rc;
    70   HFILE         hFileLow = *phFile;
     71  HFILE hFileLow = *phFile;
    7172
    7273  rc = DosDupHandle(hFile, &hFileLow);
     
    324325  return apiret;
    325326}
     327
     328/**
     329 * DosRequestMutexSem wrapper
     330 */
     331
     332APIRET xDosRequestMutexSem(HMTX hmtx, ULONG ulTimeout)
     333{
     334  APIRET apiret = DosRequestMutexSem(hmtx, ulTimeout);
     335
     336  if (apiret && (ulTimeout == SEM_INDEFINITE_WAIT || apiret != ERROR_TIMEOUT)) {
     337    Dos_Error(MB_CANCEL, apiret, HWND_DESKTOP, pszSrcFile, __LINE__,
     338              PCSZ_DOSREQUESTMUTEXSEM);
     339  }
     340  return apiret;
     341}
     342
     343/**
     344 * DosReleaseMutexSem wrapper
     345 */
     346
     347APIRET xDosReleaseMutexSem(HMTX hmtx)
     348{
     349  APIRET apiret = DosReleaseMutexSem(hmtx);
     350
     351  if (apiret) {
     352    Dos_Error(MB_CANCEL, apiret, HWND_DESKTOP, pszSrcFile, __LINE__,
     353              PCSZ_DOSRELEASEMUTEXSEM);
     354  }
     355  return apiret;
     356}
     357
     358/**
     359 * DosCreateEventSem wrapper
     360 */
     361
     362APIRET xDosCreateEventSem (PSZ pszName,PHEV phev, ULONG flAttr, BOOL32 fState)
     363{
     364  APIRET apiret = DosCreateEventSem (pszName,phev, flAttr, fState);
     365  if (apiret) {
     366    Dos_Error(MB_CANCEL, apiret, HWND_DESKTOP, pszSrcFile, __LINE__,
     367              PCSZ_DOSCREATEEVENTSEM);
     368  }
     369  return apiret;
     370}
     371
     372/**
     373 * DosWaitEventSem wrapper
     374 */
     375
     376APIRET xDosWaitEventSem(HEV hev, ULONG ulTimeout)
     377{
     378  APIRET apiret = DosWaitEventSem(hev, ulTimeout);
     379
     380  if (apiret && (ulTimeout == SEM_INDEFINITE_WAIT || apiret != ERROR_TIMEOUT)) {
     381    Dos_Error(MB_CANCEL, apiret, HWND_DESKTOP, pszSrcFile, __LINE__,
     382              PCSZ_DOSWAITEVENTSEM);
     383  }
     384  return apiret;
     385}
     386
     387/**
     388 * DosPostEventSem wrapper
     389 */
     390
     391APIRET xDosPostEventSem(HEV hev)
     392{
     393  APIRET apiret = DosPostEventSem(hev);
     394
     395  if (apiret && apiret != ERROR_ALREADY_POSTED) {
     396    Dos_Error(MB_CANCEL, apiret, HWND_DESKTOP, pszSrcFile, __LINE__,
     397              PCSZ_DOSPOSTEVENTSEM);
     398  }
     399  return apiret;
     400}
     401
     402/**
     403 * DosResetEventSem wrapper
     404 */
     405
     406APIRET xDosResetEventSem(HEV hev, PULONG pulPostCt)
     407{
     408  APIRET apiret = DosResetEventSem(hev, pulPostCt);
     409
     410  if (apiret && apiret != ERROR_ALREADY_RESET) {
     411    Dos_Error(MB_CANCEL, apiret, HWND_DESKTOP, pszSrcFile, __LINE__,
     412              PCSZ_DOSRESETEVENTSEM);
     413  }
     414  return apiret;
     415}
     416
     417/**
     418 * DosFindFirst wrapper
     419 */
    326420
    327421APIRET xDosFindFirst(PSZ pszFileSpec,
     
    731825/*
    732826 * JBS: Wrappers for functions which...
    733  *      - are identified by klibc as "highmem-unsafe"
    734  *      - not yet used by FM/2
     827 *      - are identified by klibc as "highmem-unsafe"
     828 *      - not yet used by FM/2
    735829 */
    736830
Note: See TracChangeset for help on using the changeset viewer.