Fix worker crash when coordinator disconnects

cmake_branch_point
Brian Cloutier 2018-04-10 23:36:02 +00:00 committed by Brian Cloutier
parent 73e1d81bb3
commit 667280650d
1 changed files with 27 additions and 16 deletions

View File

@ -48,6 +48,9 @@ RedirectCopyDataToRegularFile(const char *filename)
fileDesc = FileOpenForTransmit(filename, fileFlags, fileMode); fileDesc = FileOpenForTransmit(filename, fileFlags, fileMode);
PG_TRY();
{
SendCopyInStart(); SendCopyInStart();
copyDone = ReceiveCopyData(copyData); copyDone = ReceiveCopyData(copyData);
@ -73,6 +76,14 @@ RedirectCopyDataToRegularFile(const char *filename)
resetStringInfo(copyData); resetStringInfo(copyData);
copyDone = ReceiveCopyData(copyData); copyDone = ReceiveCopyData(copyData);
} }
}
PG_CATCH();
{
FreeStringInfo(copyData);
FileClose(fileDesc);
PG_RE_THROW();
}
PG_END_TRY();
FreeStringInfo(copyData); FreeStringInfo(copyData);
FileClose(fileDesc); FileClose(fileDesc);