Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit78d1091

Browse files
committed
Free walmethods before exiting
Not strictly necessary since we quite after, but could become importantin the future if we do restarts etc.Michael Paquier with nitpicking from me
1 parent8c46f0c commit78d1091

File tree

4 files changed

+33
-0
lines changed

4 files changed

+33
-0
lines changed

‎src/bin/pg_basebackup/pg_basebackup.c

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -495,6 +495,13 @@ LogStreamerMain(logstreamer_param *param)
495495
}
496496

497497
PQfinish(param->bgconn);
498+
499+
if (format=='p')
500+
FreeWalDirectoryMethod();
501+
else
502+
FreeWalTarMethod();
503+
pg_free(stream.walmethod);
504+
498505
return0;
499506
}
500507

‎src/bin/pg_basebackup/pg_receivexlog.c

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -352,6 +352,10 @@ StreamLog(void)
352352
}
353353

354354
PQfinish(conn);
355+
356+
FreeWalDirectoryMethod();
357+
pg_free(stream.walmethod);
358+
355359
conn=NULL;
356360
}
357361

‎src/bin/pg_basebackup/walmethods.c

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -299,6 +299,13 @@ CreateWalDirectoryMethod(const char *basedir, bool sync)
299299
returnmethod;
300300
}
301301

302+
void
303+
FreeWalDirectoryMethod(void)
304+
{
305+
pg_free(dir_data->basedir);
306+
pg_free(dir_data);
307+
}
308+
302309

303310
/*-------------------------------------------------------------------------
304311
* WalTarMethod - write wal to a tar file containing pg_xlog contents
@@ -894,3 +901,14 @@ CreateWalTarMethod(const char *tarbase, int compression, bool sync)
894901

895902
returnmethod;
896903
}
904+
905+
void
906+
FreeWalTarMethod(void)
907+
{
908+
pg_free(tar_data->tarfilename);
909+
#ifdefHAVE_LIBZ
910+
if (tar_data->compression)
911+
pg_free(tar_data->zlibOut);
912+
#endif
913+
pg_free(tar_data);
914+
}

‎src/bin/pg_basebackup/walmethods.h

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,3 +43,7 @@ struct WalWriteMethod
4343
*/
4444
WalWriteMethod*CreateWalDirectoryMethod(constchar*basedir,boolsync);
4545
WalWriteMethod*CreateWalTarMethod(constchar*tarbase,intcompression,boolsync);
46+
47+
/* Cleanup routines for previously-created methods */
48+
voidFreeWalDirectoryMethod(void);
49+
voidFreeWalTarMethod(void);

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp