)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":4146,"name":"Clark Boylan","email":"cboylan@sapwetik.org","username":"cboylan"},"change_message_id":"c0c1a0beaa483d27cc652b49938f4a6ad9a1e882","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"1b1115c0_cc46b958","updated":"2023-06-05 17:37:03.000000000","message":"+2 despite my comment since the old code wasn\u0027t especially graceful either. A followup to do stronger error checking here may be a good idea though.","commit_id":"eb550597b014257f08fe1534362e6a8e95fd7718"},{"author":{"_account_id":1,"name":"James E. Blair","email":"jim@acmegating.com","username":"corvus"},"change_message_id":"752d6ba5fd25cd6a56abfc9a031446e0d71e9fb8","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"c04623d8_0a7573ea","in_reply_to":"1b1115c0_cc46b958","updated":"2023-06-05 17:40:12.000000000","message":"I don\u0027t think we should add any more error handling.  The current code will exit with an appropriate error in the case of a problem.  We don\u0027t want to mask that error with a try/except handler.  And we do not want the program to continue.","commit_id":"eb550597b014257f08fe1534362e6a8e95fd7718"}],"zuul/driver/bubblewrap/__init__.py":[{"author":{"_account_id":1,"name":"James E. Blair","email":"jim@acmegating.com","username":"corvus"},"change_message_id":"7aadfc0ae15af2d6a3e02229dbdce9cba6b4ec79","unresolved":false,"context_lines":[{"line_number":87,"context_line":"        if os.path.exists(\"/proc/fs/openafs/afs_ioctl\"):"},{"line_number":88,"context_line":"            f \u003d os.open(\"/proc/fs/openafs/afs_ioctl\", os.O_RDONLY)"},{"line_number":89,"context_line":"            fcntl.ioctl(f, 0x40084301, struct.pack(\"lllll\", 0, 0, 0, 0, 21))"},{"line_number":90,"context_line":"            os.close(f)"},{"line_number":91,"context_line":""},{"line_number":92,"context_line":"    def getPopen(self, **kwargs):"},{"line_number":93,"context_line":"        self.setpag()"}],"source_content_type":"text/x-python","patch_set":1,"id":"2b1c85ab_4365a4d9","line":90,"updated":"2023-06-05 17:37:40.000000000","message":"I think this is already is exactly what we want: it either all works, or python will throw some exception.  We don\u0027t need to mask the exception which is what the proposed code will do.","commit_id":"eb550597b014257f08fe1534362e6a8e95fd7718"},{"author":{"_account_id":4146,"name":"Clark Boylan","email":"cboylan@sapwetik.org","username":"cboylan"},"change_message_id":"75e4fdc9cd0fd86a407b40e6181d0f4b4bff573a","unresolved":true,"context_lines":[{"line_number":87,"context_line":"        if os.path.exists(\"/proc/fs/openafs/afs_ioctl\"):"},{"line_number":88,"context_line":"            f \u003d os.open(\"/proc/fs/openafs/afs_ioctl\", os.O_RDONLY)"},{"line_number":89,"context_line":"            fcntl.ioctl(f, 0x40084301, struct.pack(\"lllll\", 0, 0, 0, 0, 21))"},{"line_number":90,"context_line":"            os.close(f)"},{"line_number":91,"context_line":""},{"line_number":92,"context_line":"    def getPopen(self, **kwargs):"},{"line_number":93,"context_line":"        self.setpag()"}],"source_content_type":"text/x-python","patch_set":1,"id":"868a1449_2924da08","line":90,"updated":"2023-06-05 17:35:22.000000000","message":"I think we need to do some error checking here. Something like:\n\n```\nf \u003d os.open()\nif f !\u003d -1:\n    try:\n        fcntl.ioctl()\n    finally:\n        os.close(f)\nelse:\n    raise SomeException()\n```","commit_id":"eb550597b014257f08fe1534362e6a8e95fd7718"},{"author":{"_account_id":4146,"name":"Clark Boylan","email":"cboylan@sapwetik.org","username":"cboylan"},"change_message_id":"a81ea75a26e0850c5ac881dcc6e60612cb286db5","unresolved":false,"context_lines":[{"line_number":87,"context_line":"        if os.path.exists(\"/proc/fs/openafs/afs_ioctl\"):"},{"line_number":88,"context_line":"            f \u003d os.open(\"/proc/fs/openafs/afs_ioctl\", os.O_RDONLY)"},{"line_number":89,"context_line":"            fcntl.ioctl(f, 0x40084301, struct.pack(\"lllll\", 0, 0, 0, 0, 21))"},{"line_number":90,"context_line":"            os.close(f)"},{"line_number":91,"context_line":""},{"line_number":92,"context_line":"    def getPopen(self, **kwargs):"},{"line_number":93,"context_line":"        self.setpag()"}],"source_content_type":"text/x-python","patch_set":1,"id":"853dcf11_201304ef","line":90,"in_reply_to":"868a1449_2924da08","updated":"2023-06-05 17:39:22.000000000","message":"Nevermind trying to operate on fd -1 raises `OSError: [Errno 9] Bad file descriptor` which will cause this to crash and do sufficient error handling.","commit_id":"eb550597b014257f08fe1534362e6a8e95fd7718"}]}
