MCPcopy Create free account
hub / github.com/F-Stack/f-stack / backgroundSaveDoneHandler

Function backgroundSaveDoneHandler

app/redis-6.2.6/src/rdb.c:2825–2845  ·  view source on GitHub ↗

When a background RDB saving/transfer terminates, call the right handler. */

Source from the content-addressed store, hash-verified

2823
2824/* When a background RDB saving/transfer terminates, call the right handler. */
2825void backgroundSaveDoneHandler(int exitcode, int bysignal) {
2826 int type = server.rdb_child_type;
2827 switch(server.rdb_child_type) {
2828 case RDB_CHILD_TYPE_DISK:
2829 backgroundSaveDoneHandlerDisk(exitcode,bysignal);
2830 break;
2831 case RDB_CHILD_TYPE_SOCKET:
2832 backgroundSaveDoneHandlerSocket(exitcode,bysignal);
2833 break;
2834 default:
2835 serverPanic("Unknown RDB child type.");
2836 break;
2837 }
2838
2839 server.rdb_child_type = RDB_CHILD_TYPE_NONE;
2840 server.rdb_save_time_last = time(NULL)-server.rdb_save_time_start;
2841 server.rdb_save_time_start = -1;
2842 /* Possibly there are slaves waiting for a BGSAVE in order to be served
2843 * (the first stage of SYNC is a bulk transfer of dump.rdb) */
2844 updateSlavesWaitingBgsave((!bysignal && exitcode == 0) ? C_OK : C_ERR, type);
2845}
2846
2847/* Kill the RDB saving child using SIGUSR1 (so that the parent will know
2848 * the child did not exit for an error, but because we wanted), and performs

Callers 1

checkChildrenDoneFunction · 0.85

Tested by

no test coverage detected