NetworkPkg:Missing CloseEvent() in HttpResponseWorker

Two additional scenarios in which CloseEvent() needs to be called:
When sending a request to http server using HTTP Head method, if the process
is success, we did a response call, and then go to exit without close the
event in Rxtoken in wrap structure and in httpinstance struceure, so
another call() to response using http get method to receive http header,
those events are not closed either..

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Nagaraj Hegde <nagaraj-p.hegde@hpe.com>
Reviewed-by: Fu Siyuan <siyuan.fu@intel.com>
Reviewed-by: Zhang Lubo <lubo.zhang@intel.com>




git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@18735 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
Nagaraj Hegde 2015-11-06 09:35:09 +00:00 committed by luobozhang
parent f25da33d13
commit 3666990b0f
1 changed files with 12 additions and 0 deletions

View File

@ -1130,6 +1130,18 @@ Exit:
} }
Token->Status = Status; Token->Status = Status;
gBS->SignalEvent (Token->Event); gBS->SignalEvent (Token->Event);
if (Wrap != NULL) {
if (Wrap->TcpWrap.RxToken.CompletionToken.Event != NULL) {
gBS->CloseEvent (Wrap->TcpWrap.RxToken.CompletionToken.Event);
}
}
if (HttpInstance->RxToken.CompletionToken.Event != NULL) {
gBS->CloseEvent (HttpInstance->RxToken.CompletionToken.Event);
HttpInstance->RxToken.CompletionToken.Event = NULL;
}
FreePool (Wrap); FreePool (Wrap);
return Status; return Status;