On Jan 13, 2014, at 7:25 PM, Tomoki Sekiyama <tomoki.sekiy...@hds.com> wrote:
> OpenEvent and CreateEvent WinAPI return NULL when failed to open/create > events handles, instead of INVALID_HANDLE_VALUE (although their return > types are HANDLE). > This replaces INVALID_HANDLE_VALUE related to event handles with NULL. > > Signed-off-by: Tomoki Sekiyama <tomoki.sekiy...@hds.com> > --- > qga/vss-win32/provider.cpp | 6 +++--- > qga/vss-win32/requester.cpp | 24 ++++++++++-------------- > 2 files changed, 13 insertions(+), 17 deletions(-) > > diff --git a/qga/vss-win32/provider.cpp b/qga/vss-win32/provider.cpp > index bf42b5e..c3030d8 100644 > --- a/qga/vss-win32/provider.cpp > +++ b/qga/vss-win32/provider.cpp > @@ -342,18 +342,18 @@ STDMETHODIMP CQGAVssProvider::CommitSnapshots(VSS_ID > SnapshotSetId) > HANDLE hEventFrozen, hEventThaw, hEventTimeout; > > hEventFrozen = OpenEvent(EVENT_ALL_ACCESS, FALSE, EVENT_NAME_FROZEN); > - if (hEventFrozen == INVALID_HANDLE_VALUE) { > + if (!hEventFrozen) { > return E_FAIL; > } > > hEventThaw = OpenEvent(EVENT_ALL_ACCESS, FALSE, EVENT_NAME_THAW); > - if (hEventThaw == INVALID_HANDLE_VALUE) { > + if (!hEventThaw) { > CloseHandle(hEventFrozen); > return E_FAIL; > } > > hEventTimeout = OpenEvent(EVENT_ALL_ACCESS, FALSE, EVENT_NAME_TIMEOUT); > - if (hEventTimeout == INVALID_HANDLE_VALUE) { > + if (!hEventTimeout) { > CloseHandle(hEventFrozen); > CloseHandle(hEventThaw); > return E_FAIL; > diff --git a/qga/vss-win32/requester.cpp b/qga/vss-win32/requester.cpp > index 1e8dd3d..0a55447 100644 > --- a/qga/vss-win32/requester.cpp > +++ b/qga/vss-win32/requester.cpp > @@ -50,10 +50,6 @@ static struct QGAVSSContext { > > STDAPI requester_init(void) > { > - vss_ctx.hEventFrozen = INVALID_HANDLE_VALUE; > - vss_ctx.hEventThaw = INVALID_HANDLE_VALUE; > - vss_ctx.hEventTimeout = INVALID_HANDLE_VALUE; > - > COMInitializer initializer; /* to call CoInitializeSecurity */ > HRESULT hr = CoInitializeSecurity( > NULL, -1, NULL, NULL, RPC_C_AUTHN_LEVEL_PKT_PRIVACY, > @@ -94,17 +90,17 @@ STDAPI requester_init(void) > > static void requester_cleanup(void) > { > - if (vss_ctx.hEventFrozen != INVALID_HANDLE_VALUE) { > + if (vss_ctx.hEventFrozen) { > CloseHandle(vss_ctx.hEventFrozen); > - vss_ctx.hEventFrozen = INVALID_HANDLE_VALUE; > + vss_ctx.hEventFrozen = NULL; > } > - if (vss_ctx.hEventThaw != INVALID_HANDLE_VALUE) { > + if (vss_ctx.hEventThaw) { > CloseHandle(vss_ctx.hEventThaw); > - vss_ctx.hEventThaw = INVALID_HANDLE_VALUE; > + vss_ctx.hEventThaw = NULL; > } > - if (vss_ctx.hEventTimeout != INVALID_HANDLE_VALUE) { > + if (vss_ctx.hEventTimeout) { > CloseHandle(vss_ctx.hEventTimeout); > - vss_ctx.hEventTimeout = INVALID_HANDLE_VALUE; > + vss_ctx.hEventTimeout = NULL; > } > if (vss_ctx.pAsyncSnapshot) { > vss_ctx.pAsyncSnapshot->Release(); > @@ -374,19 +370,19 @@ void requester_freeze(int *num_vols, ErrorSet *errset) > sa.bInheritHandle = FALSE; > > vss_ctx.hEventFrozen = CreateEvent(&sa, TRUE, FALSE, EVENT_NAME_FROZEN); > - if (vss_ctx.hEventFrozen == INVALID_HANDLE_VALUE) { > + if (!vss_ctx.hEventFrozen) { > err_set(errset, GetLastError(), "failed to create event %s", > EVENT_NAME_FROZEN); > goto out; > } > vss_ctx.hEventThaw = CreateEvent(&sa, TRUE, FALSE, EVENT_NAME_THAW); > - if (vss_ctx.hEventThaw == INVALID_HANDLE_VALUE) { > + if (!vss_ctx.hEventThaw) { > err_set(errset, GetLastError(), "failed to create event %s", > EVENT_NAME_THAW); > goto out; > } > vss_ctx.hEventTimeout = CreateEvent(&sa, TRUE, FALSE, EVENT_NAME_TIMEOUT); > - if (vss_ctx.hEventTimeout == INVALID_HANDLE_VALUE) { > + if (!vss_ctx.hEventTimeout) { > err_set(errset, GetLastError(), "failed to create event %s", > EVENT_NAME_TIMEOUT); > goto out; > @@ -443,7 +439,7 @@ void requester_thaw(int *num_vols, ErrorSet *errset) > { > COMPointer<IVssAsync> pAsync; > > - if (vss_ctx.hEventThaw == INVALID_HANDLE_VALUE) { > + if (!vss_ctx.hEventThaw) { > /* > * In this case, DoSnapshotSet is aborted or not started, > * and no volumes must be frozen. We return without an error. > > Reviewed-by: Yan Vugenfirer <yvuge...@redhat.com>