diff options
Diffstat (limited to 'xlators/features/changelog/src/changelog-helpers.h')
-rw-r--r-- | xlators/features/changelog/src/changelog-helpers.h | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/xlators/features/changelog/src/changelog-helpers.h b/xlators/features/changelog/src/changelog-helpers.h index 39a792891dd..1551337c16f 100644 --- a/xlators/features/changelog/src/changelog-helpers.h +++ b/xlators/features/changelog/src/changelog-helpers.h @@ -675,6 +675,19 @@ resolve_pargfid_to_path (xlator_t *this, const uuid_t gfid, char **path, goto label; \ } \ } while (0) + +/* Log pthread error, unlock mutex and goto label */ +#define CHANGELOG_PTHREAD_ERROR_HANDLE_2(ret, label, mutex) do { \ + if (ret) { \ + gf_smsg (this->name, GF_LOG_ERROR, \ + 0, CHANGELOG_MSG_PTHREAD_ERROR, \ + "pthread error", "error=%d", ret, NULL); \ + ret = -1; \ + pthread_mutex_unlock (&mutex); \ + goto label; \ + } \ + } while (0) + /* End: Geo-Rep snapshot dependency changes */ #endif /* _CHANGELOG_HELPERS_H */ |