)]}'
{"swift/common/utils.py":[{"author":{"_account_id":995,"name":"David Goetz","email":"david.goetz@rackspace.com","username":"david-goetz"},"change_message_id":"40ab2cb64eccda552a480b5e94b2aad724b09210","unresolved":false,"context_lines":[{"line_number":474,"context_line":"        os.setsid()"},{"line_number":475,"context_line":"    except OSError:"},{"line_number":476,"context_line":"        pass"},{"line_number":477,"context_line":"    os.chdir(\u0027/\u0027)  # in case you need to rmdir on where you started the daemon"},{"line_number":478,"context_line":""},{"line_number":479,"context_line":""},{"line_number":480,"context_line":"def capture_stdio(logger, **kwargs):"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAACn%2F%2F95s%3D","line":477,"updated":"2011-11-16 19:07:15.000000000","message":"change this to os.umask(0022)","commit_id":"9d5d445da0228d8c883d10d597a4a27c473183fa"}],"swift/common/wsgi.py":[{"author":{"_account_id":995,"name":"David Goetz","email":"david.goetz@rackspace.com","username":"david-goetz"},"change_message_id":"40ab2cb64eccda552a480b5e94b2aad724b09210","unresolved":false,"context_lines":[{"line_number":168,"context_line":"    signal.signal(signal.SIGTERM, kill_children)"},{"line_number":169,"context_line":"    signal.signal(signal.SIGHUP, hup)"},{"line_number":170,"context_line":"    children \u003d []"},{"line_number":171,"context_line":"    os.umask(0)"},{"line_number":172,"context_line":"    while running[0]:"},{"line_number":173,"context_line":"        while len(children) \u003c worker_count:"},{"line_number":174,"context_line":"            pid \u003d os.fork()"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAACn%2F%2F95o%3D","line":171,"updated":"2011-11-16 19:07:15.000000000","message":"take this out- let drop_priv handle it.  the children will inherit the umask from the parent","commit_id":"9d5d445da0228d8c883d10d597a4a27c473183fa"}],"swift/container/updater.py":[{"author":{"_account_id":1216,"name":"gholt","email":"z-launchpad@brim.net","username":"gholt"},"change_message_id":"14b426fa18880cffde7d6b51d6fcfd37a3a50359","unresolved":false,"context_lines":[{"line_number":126,"context_line":"                os.close(fd)"},{"line_number":127,"context_line":"                pid \u003d os.fork()"},{"line_number":128,"context_line":"                if pid:"},{"line_number":129,"context_line":"                    os.umask(0022)"},{"line_number":130,"context_line":"                    pid2filename[pid] \u003d tmpfilename"},{"line_number":131,"context_line":"                else:"},{"line_number":132,"context_line":"                    signal.signal(signal.SIGTERM, signal.SIG_DFL)"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAACX%2F%2F388%3D","line":129,"updated":"2011-11-07 16:34:58.000000000","message":"Wrong place; this is still the parent.","commit_id":"cf0a86238e0b5f96dca0c46d059655db0f652496"},{"author":{"_account_id":995,"name":"David Goetz","email":"david.goetz@rackspace.com","username":"david-goetz"},"change_message_id":"40ab2cb64eccda552a480b5e94b2aad724b09210","unresolved":false,"context_lines":[{"line_number":103,"context_line":"        Run the updator continuously."},{"line_number":104,"context_line":"        \"\"\""},{"line_number":105,"context_line":"        time.sleep(random() * self.interval)"},{"line_number":106,"context_line":"        os.umask(0)"},{"line_number":107,"context_line":"        while True:"},{"line_number":108,"context_line":"            self.logger.info(_(\u0027Begin container update sweep\u0027))"},{"line_number":109,"context_line":"            begin \u003d time.time()"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAACn%2F%2F95k%3D","line":106,"updated":"2011-11-16 19:07:15.000000000","message":"just have this set it to 0022 and get rid of umask below","commit_id":"9d5d445da0228d8c883d10d597a4a27c473183fa"},{"author":{"_account_id":995,"name":"David Goetz","email":"david.goetz@rackspace.com","username":"david-goetz"},"change_message_id":"ed7e46e5ff5e200afca4f2319b1c190a3d0892dc","unresolved":false,"context_lines":[{"line_number":103,"context_line":"        Run the updator continuously."},{"line_number":104,"context_line":"        \"\"\""},{"line_number":105,"context_line":"        time.sleep(random() * self.interval)"},{"line_number":106,"context_line":"        os.umask(0)"},{"line_number":107,"context_line":"        while True:"},{"line_number":108,"context_line":"            self.logger.info(_(\u0027Begin container update sweep\u0027))"},{"line_number":109,"context_line":"            begin \u003d time.time()"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAACn%2F%2F95Q%3D","line":106,"in_reply_to":"AAAACn%2F%2F95k%3D","updated":"2011-11-16 19:24:42.000000000","message":"Also- why is this here? If we do need to set the umask the run_once should act the same as the run forever.","commit_id":"9d5d445da0228d8c883d10d597a4a27c473183fa"}]}
