)]}'
{"daemon/breakpad.cc":[{"author":{"_account_id":1000002,"name":"Trond Norbye","display_name":"Trond","email":"trond.norbye@couchbase.com","username":"trond","avatars":[{"url":"https://www.gravatar.com/avatar/1521a1fa74885ab7b9748113afe689cc.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/1521a1fa74885ab7b9748113afe689cc.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/1521a1fa74885ab7b9748113afe689cc.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/1521a1fa74885ab7b9748113afe689cc.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"c9a0f679a9535994d9b9207db300bacb2421e355","unresolved":false,"context_lines":[{"line_number":31,"context_line":""},{"line_number":32,"context_line":"#include \u003cstdlib.h\u003e"},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"extern struct settings settings;"},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"using namespace google_breakpad;"},{"line_number":37,"context_line":""}],"source_content_type":"text/x-c","patch_set":6,"id":"c0f0baa0_d759f6b6","line":34,"range":{"start_line":34,"start_character":0,"end_line":34,"end_character":32},"updated":"2015-06-30 17:45:52.000000000","message":"remove, and include settings.h instead","commit_id":"85150b48124dd5d9acb8019172093f3fd1091595"}],"daemon/settings.h":[{"author":{"_account_id":1000002,"name":"Trond Norbye","display_name":"Trond","email":"trond.norbye@couchbase.com","username":"trond","avatars":[{"url":"https://www.gravatar.com/avatar/1521a1fa74885ab7b9748113afe689cc.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/1521a1fa74885ab7b9748113afe689cc.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/1521a1fa74885ab7b9748113afe689cc.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/1521a1fa74885ab7b9748113afe689cc.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"c9a0f679a9535994d9b9207db300bacb2421e355","unresolved":false,"context_lines":[{"line_number":92,"context_line":"    const char *rbac_file; /* The file containing RBAC information */"},{"line_number":93,"context_line":"    bool rbac_privilege_debug; /* see manpage */"},{"line_number":94,"context_line":"    bool require_sasl;      /* require SASL auth */"},{"line_number":95,"context_line":"    std::atomic\u003cint\u003e verbose;            /* level of versosity to log at. */"},{"line_number":96,"context_line":"    int bio_drain_buffer_sz; /* size of the SSL bio buffers */"},{"line_number":97,"context_line":"    bool datatype;          /* is datatype support enabled? */"},{"line_number":98,"context_line":"    const char *root; /* The root directory of the installation */"}],"source_content_type":"text/x-csrc","patch_set":6,"id":"c0f0baa0_37267a27","line":95,"range":{"start_line":95,"start_character":4,"end_line":95,"end_character":28},"updated":"2015-06-30 17:45:52.000000000","message":"Does this work on all platforms? I know we\u0027re doing \"memset\u0027s\" on the struct at some points (probably not called in production during normal operation), causing stuff using std::string to crash at least.. could there be similar extra \"members\" created for the atomic class?","commit_id":"85150b48124dd5d9acb8019172093f3fd1091595"},{"author":{"_account_id":1000966,"name":"Dave Rigby","email":"daver@couchbase.com","username":"drigby","avatars":[{"url":"https://www.gravatar.com/avatar/514e75a8d75cc1fcdb22433d445ae8f1.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/514e75a8d75cc1fcdb22433d445ae8f1.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/514e75a8d75cc1fcdb22433d445ae8f1.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/514e75a8d75cc1fcdb22433d445ae8f1.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"d545d998756332a58cb89521fc5765a5ec08be0c","unresolved":false,"context_lines":[{"line_number":92,"context_line":"    const char *rbac_file; /* The file containing RBAC information */"},{"line_number":93,"context_line":"    bool rbac_privilege_debug; /* see manpage */"},{"line_number":94,"context_line":"    bool require_sasl;      /* require SASL auth */"},{"line_number":95,"context_line":"    std::atomic\u003cint\u003e verbose;            /* level of versosity to log at. */"},{"line_number":96,"context_line":"    int bio_drain_buffer_sz; /* size of the SSL bio buffers */"},{"line_number":97,"context_line":"    bool datatype;          /* is datatype support enabled? */"},{"line_number":98,"context_line":"    const char *root; /* The root directory of the installation */"}],"source_content_type":"text/x-csrc","patch_set":6,"id":"c0f0baa0_22175659","line":95,"range":{"start_line":95,"start_character":4,"end_line":95,"end_character":28},"in_reply_to":"c0f0baa0_37267a27","updated":"2015-07-01 12:57:35.000000000","message":"The std::atomic\u003c\u003e classes have no additional state, their purpose is simply to emit the appropriate memory access instructions when accessing the value.\n\nThe only place I see memset() called on `struct settings` is settings_init()[1], where we immediately explicitly set settings.verbose (using a normal atomic operation), so I believe we are ok.\n\n[1]: http://src.couchbase.org/source/xref/trunk/memcached/daemon/memcached.cc#8626","commit_id":"85150b48124dd5d9acb8019172093f3fd1091595"}]}
