From: Andre Noll Date: Mon, 28 Dec 2015 17:47:46 +0000 (+0000) Subject: command.c: Open-code mmd_dup(). X-Git-Tag: v0.5.6~72 X-Git-Url: http://git.tuebingen.mpg.de/?p=paraslash.git;a=commitdiff_plain;h=b184fbf41abbdd68ee148ea4dc6fc2969f05e87b command.c: Open-code mmd_dup(). This function is short and has only a single caller. The code becomes clearer by open-coding it in the caller. --- diff --git a/command.c b/command.c index 46ede2fe..bde14587 100644 --- a/command.c +++ b/command.c @@ -75,13 +75,6 @@ static void dummy(__a_unused int s) { } -static void mmd_dup(struct misc_meta_data *new_mmd) -{ - mutex_lock(mmd_mutex); - *new_mmd = *mmd; - mutex_unlock(mmd_mutex); -} - /* * Compute human readable vss status text. * @@ -533,7 +526,13 @@ static int com_stat(struct command_context *cc) if (i != cc->argc) return -E_COMMAND_SYNTAX; for (;;) { - mmd_dup(nmmd); + /* + * Copy the mmd structure to minimize the time we hold the mmd + * lock. + */ + mutex_lock(mmd_mutex); + *nmmd = *mmd; + mutex_unlock(mmd_mutex); ret = get_status(nmmd, parser_friendly, &s); ret = send_sb(&cc->scc, s, ret, SBD_OUTPUT, false); if (ret < 0)