]> git.apps.os.sepia.ceph.com Git - ceph.git/commit
rgw: hold reloader using unique_ptr 36770/head
authorKefu Chai <kchai@redhat.com>
Fri, 7 Aug 2020 16:26:21 +0000 (00:26 +0800)
committerNathan Cutler <ncutler@suse.com>
Mon, 24 Aug 2020 13:49:52 +0000 (15:49 +0200)
commita261fc632e476df62214dac88e6230562b075778
treecf97f65aeb648229e5328da228d6ce108ed1b85b
parenta7263bce151d742424630712cdf8e081e7d18b94
rgw: hold reloader using unique_ptr

instead of using optional<> for holding reloader, use unique_ptr<>.
as `RGWRealmReloader` is neither
trivially_copy_{assignable,constructible} nor
is_trivially_move_{assignable, constructible}, because of the `Cond`
member variable. but Clang++ and libc++ still tries to rely on a
delgating copy constructor for constructing the
optional<RGWRealmReloader> instance even the optional object is
created `in_place`.

in this change, to workaround this issue, reloader is instead
constructed using make_unique<>

Signed-off-by: Kefu Chai <kchai@redhat.com>
(cherry picked from commit 2494ddbef5ad20cdfccf59911fccadb6f9848da0)
src/rgw/rgw_main.cc