Ignore:
Timestamp:
Feb 4, 2003, 12:29:03 PM (23 years ago)
Author:
sandervl
Message:

Support DuplicateHandle for threads; cleaned up semaphore code

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/kernel32/hmsemaphore.h

    r6084 r9748  
    1 /* $Id: hmsemaphore.h,v 1.5 2001-06-23 16:59:28 sandervl Exp $ */
     1/* $Id: hmsemaphore.h,v 1.6 2003-02-04 11:29:00 sandervl Exp $ */
    22
    33/*
     
    2424#include "HMOpen32.h"
    2525
    26 #ifdef USE_OS2SEMAPHORES
    27 typedef struct {
    28     LONG   currentCount;
    29     LONG   maximumCount;
    30     LONG   refCount;
    31     ULONG  hev;
    32 } SEM_INFO, *PSEM_INFO;
    33 #endif
    34 
    3526
    3627/*****************************************************************************
     
    3829 *****************************************************************************/
    3930
    40 #ifdef USE_OS2SEMAPHORES
    41 class HMDeviceSemaphoreClass : public HMDeviceHandler
    42 #else
    4331class HMDeviceSemaphoreClass : public HMDeviceOpen32Class
    44 #endif
    4532{
    4633public:
    47 #ifdef USE_OS2SEMAPHORES
    48   HMDeviceSemaphoreClass(LPCSTR lpDeviceName) : HMDeviceHandler(lpDeviceName) {}
    49 #else
    5034  HMDeviceSemaphoreClass(LPCSTR lpDeviceName) : HMDeviceOpen32Class(lpDeviceName) {}
    51 #endif
    5235
    5336  /* this is a handler method for calls to CreateSemaphore() */
     
    6245                                 BOOL                  fInheritHandle,
    6346                                 LPCTSTR               lpszSemaphoreName);
    64 
    65 #ifdef USE_OS2SEMAPHORES
    66   virtual BOOL  CloseHandle(PHMHANDLEDATA pHMHandleData);
    67 
    68   virtual BOOL DuplicateHandle(PHMHANDLEDATA pHMHandleData, HANDLE  srcprocess,
    69                                PHMHANDLEDATA pHMSrcHandle,
    70                                HANDLE  destprocess,
    71                                PHANDLE desthandle,
    72                                DWORD   fdwAccess,
    73                                BOOL    fInherit,
    74                                DWORD   fdwOptions,
    75                                DWORD   fdwOdinOptions);
    76 
    77   /* this is a handler method for calls to WaitForSingleObject */
    78   virtual DWORD WaitForSingleObject  (PHMHANDLEDATA pHMHandleData,
    79                                       DWORD  dwTimeout);
    80 
    81   /* this is a handler method for calls to WaitForSingleObjectEx */
    82   virtual DWORD WaitForSingleObjectEx(PHMHANDLEDATA pHMHandleData,
    83                                       DWORD  dwTimeout,
    84                                       BOOL   fAlertable);
    85 
    86   virtual DWORD MsgWaitForMultipleObjects(PHMHANDLEDATA pHMHandleData,
    87                                           DWORD      nCount,
    88                                           PHANDLE       pHandles,
    89                                           BOOL       fWaitAll,
    90                                           DWORD      dwMilliseconds,
    91                                           DWORD      dwWakeMask);
    92 
    93   virtual DWORD WaitForMultipleObjects (PHMHANDLEDATA pHMHandleData,
    94                                         DWORD   cObjects,
    95                                         PHANDLE lphObjects,
    96                                         BOOL    fWaitAll,
    97                                         DWORD   dwTimeout);
    98 
    99 #endif
    10047
    10148  /* this is a handle method for calls to ReleaseSemaphore() */
     
    11764                                      DWORD   dwWakeMask);
    11865
    119 void FixSemName(char *lpszSemaphoreName);
    12066
    12167#endif /* _HM_DEVICE_SEMAPHORE_H_ */
Note: See TracChangeset for help on using the changeset viewer.