)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":1001667,"name":"Jan Matyas","email":"jan.matyas@codasip.com","username":"JanMatCodasip"},"change_message_id":"9c39d5c9c9bdbadbb9e749acb97d51b4d44b8000","unresolved":true,"context_lines":[{"line_number":4,"context_line":"Commit:     Evgeniy Naydanov \u003cevgeniy.naydanov@syntacore.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2023-12-01 16:33:15 +0300"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"check if shutdown is requested on keep_alive()"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This allows to respond to a signal requesting a shutdown during some"},{"line_number":10,"context_line":"loops which do not return control to main OpenOCD loop."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"312c30d2_96c04034","line":7,"updated":"2023-12-04 06:37:39.000000000","message":"I\u0027d recommend to rephrase the commit message to say that your change targets \"long\" loops (or similar). That\u0027s because your original message may suggest you modified or extended keep_alive() - which is not the case. \n\nKeep_alive() was only used as an indicator that certain loops are probably \"long\", right?\n\nFor instance:\n\n```\ncheck if shutdown is requested in long loops\n\nIn loops that typically take longer time to complete, check if there is a pending shutdown request. If so, terminate the loop.\n\nThis allows to ...\n```","commit_id":"d523bd11dc28b34b07213d201f4876b746274f34"},{"author":{"_account_id":1001667,"name":"Jan Matyas","email":"jan.matyas@codasip.com","username":"JanMatCodasip"},"change_message_id":"bdc4b827c8ab3448e2655127b772066578d01919","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Evgeniy Naydanov \u003cevgeniy.naydanov@syntacore.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2023-12-01 16:33:15 +0300"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"check if shutdown is requested on keep_alive()"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This allows to respond to a signal requesting a shutdown during some"},{"line_number":10,"context_line":"loops which do not return control to main OpenOCD loop."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"93279a49_10f9b4a0","line":7,"in_reply_to":"1762e8be_5095c633","updated":"2023-12-05 15:43:16.000000000","message":"Done","commit_id":"d523bd11dc28b34b07213d201f4876b746274f34"},{"author":{"_account_id":1002047,"name":"Evgeniy Naydanov","email":"eugnay@gmail.com","username":"en-sc"},"change_message_id":"1d8a445411cb07b19cc0c425f9fcc1063feff3f4","unresolved":true,"context_lines":[{"line_number":4,"context_line":"Commit:     Evgeniy Naydanov \u003cevgeniy.naydanov@syntacore.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2023-12-01 16:33:15 +0300"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"check if shutdown is requested on keep_alive()"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This allows to respond to a signal requesting a shutdown during some"},{"line_number":10,"context_line":"loops which do not return control to main OpenOCD loop."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"1762e8be_5095c633","line":7,"in_reply_to":"306dd4ec_9acbe9c9","updated":"2023-12-05 15:12:39.000000000","message":"Addressed.","commit_id":"d523bd11dc28b34b07213d201f4876b746274f34"},{"author":{"_account_id":1001667,"name":"Jan Matyas","email":"jan.matyas@codasip.com","username":"JanMatCodasip"},"change_message_id":"4d00a785429c27bb33f325063f9b22f447d7d59e","unresolved":true,"context_lines":[{"line_number":4,"context_line":"Commit:     Evgeniy Naydanov \u003cevgeniy.naydanov@syntacore.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2023-12-01 16:33:15 +0300"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"check if shutdown is requested on keep_alive()"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This allows to respond to a signal requesting a shutdown during some"},{"line_number":10,"context_line":"loops which do not return control to main OpenOCD loop."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"306dd4ec_9acbe9c9","line":7,"in_reply_to":"312c30d2_96c04034","updated":"2023-12-04 06:38:57.000000000","message":"Or: `break from long loops on shutdown request`\n\nOr similar (...)","commit_id":"d523bd11dc28b34b07213d201f4876b746274f34"}],"/PATCHSET_LEVEL":[{"author":{"_account_id":1001667,"name":"Jan Matyas","email":"jan.matyas@codasip.com","username":"JanMatCodasip"},"change_message_id":"9c39d5c9c9bdbadbb9e749acb97d51b4d44b8000","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"46fc2d55_67e53474","updated":"2023-12-04 06:37:39.000000000","message":"Overall, I like this improvement as it improves the reactivity of OpenOCD to the shutdown command in case of long-running operations. \n\nPlease, take a look at my suggestions.","commit_id":"d523bd11dc28b34b07213d201f4876b746274f34"},{"author":{"_account_id":1002047,"name":"Evgeniy Naydanov","email":"eugnay@gmail.com","username":"en-sc"},"change_message_id":"140ee122a379c6896f6d09970f8e8ee27f55e080","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"c2251ded_5925c31c","updated":"2023-12-01 13:38:15.000000000","message":"Related change to RISC-V OpenOCD: https://github.com/riscv/riscv-openocd/pull/971","commit_id":"d523bd11dc28b34b07213d201f4876b746274f34"},{"author":{"_account_id":1002047,"name":"Evgeniy Naydanov","email":"eugnay@gmail.com","username":"en-sc"},"change_message_id":"1d8a445411cb07b19cc0c425f9fcc1063feff3f4","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"57215434_7bf1957c","updated":"2023-12-05 15:12:39.000000000","message":"Thank you for the review. I\u0027ve addressed all the requested changes. Please, take a look again.","commit_id":"500401f9c65aa4e475d1caaa393aea3b13c67e9b"},{"author":{"_account_id":1001667,"name":"Jan Matyas","email":"jan.matyas@codasip.com","username":"JanMatCodasip"},"change_message_id":"bdc4b827c8ab3448e2655127b772066578d01919","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"df07d149_3de16f10","updated":"2023-12-05 15:43:16.000000000","message":"This looks all right to me (checked visually). Thank you.","commit_id":"6d2c8e18b1f9f44285d6cbca94af7f2d5c1b8a0d"},{"author":{"_account_id":1001242,"name":"Tim Newsome","email":"tim@sifive.com","username":"timsifive"},"change_message_id":"ccfbe347df2f7ed63dc3ff1f9759fedd57e1a7ed","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":7,"id":"b471239e_19f6497e","updated":"2023-12-05 21:03:13.000000000","message":"Would it be better instead to have keep_alive() return an error code. Then at the few call sites where it matters you can propagate the error, instead of calling a separate function.","commit_id":"6d2c8e18b1f9f44285d6cbca94af7f2d5c1b8a0d"},{"author":{"_account_id":1001242,"name":"Tim Newsome","email":"tim@sifive.com","username":"timsifive"},"change_message_id":"418cecc30dc5db7191ade3c7c1fc805a61f51e58","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"24a9d7e1_713f7c81","in_reply_to":"7fceb649_f263d5a1","updated":"2023-12-06 18:59:16.000000000","message":"OK, then this looks good. Thanks for commenting.","commit_id":"6d2c8e18b1f9f44285d6cbca94af7f2d5c1b8a0d"},{"author":{"_account_id":1002047,"name":"Evgeniy Naydanov","email":"eugnay@gmail.com","username":"en-sc"},"change_message_id":"70f5ef7738fc726afb8c225f2b7a3cf1d939f681","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":7,"id":"7fceb649_f263d5a1","in_reply_to":"a629d73c_3be1115e","updated":"2023-12-06 09:51:08.000000000","message":"I\u0027ve considered this at first but it seems a bit strange to put together sending a packet to GDB and checking if there is a pending shutdown request. IMHO, it is reasonable to expect a function to return an error when the action it is performing fails. This will not be the case if these modifications to `keep_alive()` are made -- the service will be notified, but the return value will indicate an error. Wouldn\u0027t this be quite confusing?","commit_id":"6d2c8e18b1f9f44285d6cbca94af7f2d5c1b8a0d"},{"author":{"_account_id":1001667,"name":"Jan Matyas","email":"jan.matyas@codasip.com","username":"JanMatCodasip"},"change_message_id":"e75653de5fa2cf106ac586cf01fe15b2c4d04644","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":7,"id":"a629d73c_3be1115e","in_reply_to":"b471239e_19f6497e","updated":"2023-12-06 06:41:06.000000000","message":"This approach sounds OK to me. But I don\u0027t mind the current solution either (having the check outside of keep_alive()).","commit_id":"6d2c8e18b1f9f44285d6cbca94af7f2d5c1b8a0d"},{"author":{"_account_id":1000021,"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","username":"borneoa"},"change_message_id":"d6fe729b612ca8ef732a5e6471d6ac72e696e8f5","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":8,"id":"6e41ac62_7e645ac6","updated":"2023-12-11 09:02:34.000000000","message":"Thanks for the patch.\nI have only a minor hint to avoid misunderstanding while reading the code.","commit_id":"f4b84c505dc945ee3259cd99718362315681b0b0"},{"author":{"_account_id":1002047,"name":"Evgeniy Naydanov","email":"eugnay@gmail.com","username":"en-sc"},"change_message_id":"9915fb79b78cb1214176453e16b05ebc766b70f1","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":8,"id":"8dffda50_c2227758","updated":"2023-12-07 10:35:33.000000000","message":"Tomas, thank you for the review!. If you have any concerns, I\u0027m open to removing most of the changes. The issue I\u0027ve encountered is with `load_image` command and it is addressed in RISCV-specific part of the patch https://github.com/riscv/riscv-openocd/pull/971. I just want to be sure that the concept is right and there is no easier/better way to achieve the desired responsiveness.","commit_id":"f4b84c505dc945ee3259cd99718362315681b0b0"},{"author":{"_account_id":1000021,"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","username":"borneoa"},"change_message_id":"b2dd054c8cd111bcdfa3e04f92136778d9a5a940","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":9,"id":"84d1fd30_17c6dfac","updated":"2023-12-12 08:42:14.000000000","message":"Thanks","commit_id":"d3dac449050bee4ff692b6b236f0014280cb80c8"}],"src/server/server.c":[{"author":{"_account_id":1001667,"name":"Jan Matyas","email":"jan.matyas@codasip.com","username":"JanMatCodasip"},"change_message_id":"9c39d5c9c9bdbadbb9e749acb97d51b4d44b8000","unresolved":true,"context_lines":[{"line_number":752,"context_line":"\treturn shutdown_openocd !\u003d CONTINUE_MAIN_LOOP;"},{"line_number":753,"context_line":"}"},{"line_number":754,"context_line":""},{"line_number":755,"context_line":"bool openocd_shutdown_by_signal(void)"},{"line_number":756,"context_line":"{"},{"line_number":757,"context_line":"\treturn shutdown_openocd \u003d\u003d SHUTDOWN_WITH_SIGNAL_CODE;"},{"line_number":758,"context_line":"}"}],"source_content_type":"text/x-csrc","patch_set":3,"id":"2446d135_936e27a7","line":755,"updated":"2023-12-04 06:37:39.000000000","message":"Is this new function needed? Would it be possible to just re-use the `openocd_is_shutdown_pending()` function above?\n\nIn case the function is needed:\n\nCould you please rename it to `openocd_is_shutdown_by_signal()` (or similar). To make it clear this just returns bool status, and does not perform the shutdown action.","commit_id":"d523bd11dc28b34b07213d201f4876b746274f34"},{"author":{"_account_id":1002047,"name":"Evgeniy Naydanov","email":"eugnay@gmail.com","username":"en-sc"},"change_message_id":"1d8a445411cb07b19cc0c425f9fcc1063feff3f4","unresolved":true,"context_lines":[{"line_number":752,"context_line":"\treturn shutdown_openocd !\u003d CONTINUE_MAIN_LOOP;"},{"line_number":753,"context_line":"}"},{"line_number":754,"context_line":""},{"line_number":755,"context_line":"bool openocd_shutdown_by_signal(void)"},{"line_number":756,"context_line":"{"},{"line_number":757,"context_line":"\treturn shutdown_openocd \u003d\u003d SHUTDOWN_WITH_SIGNAL_CODE;"},{"line_number":758,"context_line":"}"}],"source_content_type":"text/x-csrc","patch_set":3,"id":"8a2c1a69_cc1b0c8f","line":755,"in_reply_to":"2446d135_936e27a7","updated":"2023-12-05 15:12:39.000000000","message":"Addressed. You are right. It is not really necessary. I\u0027ve added that function to stress that the intention is to respond to a signal, but reusing `openocd_is_shutdown_pending()` is simpler and more future-proof (what if sometime there will be another way to asynchronously request OpenOCD to shutdown).","commit_id":"d523bd11dc28b34b07213d201f4876b746274f34"},{"author":{"_account_id":1001667,"name":"Jan Matyas","email":"jan.matyas@codasip.com","username":"JanMatCodasip"},"change_message_id":"bdc4b827c8ab3448e2655127b772066578d01919","unresolved":false,"context_lines":[{"line_number":752,"context_line":"\treturn shutdown_openocd !\u003d CONTINUE_MAIN_LOOP;"},{"line_number":753,"context_line":"}"},{"line_number":754,"context_line":""},{"line_number":755,"context_line":"bool openocd_shutdown_by_signal(void)"},{"line_number":756,"context_line":"{"},{"line_number":757,"context_line":"\treturn shutdown_openocd \u003d\u003d SHUTDOWN_WITH_SIGNAL_CODE;"},{"line_number":758,"context_line":"}"}],"source_content_type":"text/x-csrc","patch_set":3,"id":"d68f7048_def27532","line":755,"in_reply_to":"8a2c1a69_cc1b0c8f","updated":"2023-12-05 15:43:16.000000000","message":"Done","commit_id":"d523bd11dc28b34b07213d201f4876b746274f34"}],"src/target/target.c":[{"author":{"_account_id":1001667,"name":"Jan Matyas","email":"jan.matyas@codasip.com","username":"JanMatCodasip"},"change_message_id":"9c39d5c9c9bdbadbb9e749acb97d51b4d44b8000","unresolved":true,"context_lines":[{"line_number":1050,"context_line":"\t\t/* Avoid GDB timeouts */"},{"line_number":1051,"context_line":"\t\tkeep_alive();"},{"line_number":1052,"context_line":"\t\tif (openocd_shutdown_by_signal()) {"},{"line_number":1053,"context_line":"\t\t\tretval \u003d ERROR_FAIL;"},{"line_number":1054,"context_line":"\t\t\tbreak;"},{"line_number":1055,"context_line":"\t\t}"},{"line_number":1056,"context_line":"\t}"}],"source_content_type":"text/x-csrc","patch_set":3,"id":"3776faea_2253d548","line":1053,"updated":"2023-12-04 06:37:39.000000000","message":"Please, introduce a new error code - ERROR_SHUTDOWN, ERROR_INTERRUPTED or similar.\n\nInterrupted operation is a different situation than operation that failed \"on its own\". So there should be distinct return code.","commit_id":"d523bd11dc28b34b07213d201f4876b746274f34"},{"author":{"_account_id":1002047,"name":"Evgeniy Naydanov","email":"eugnay@gmail.com","username":"en-sc"},"change_message_id":"1d8a445411cb07b19cc0c425f9fcc1063feff3f4","unresolved":true,"context_lines":[{"line_number":1050,"context_line":"\t\t/* Avoid GDB timeouts */"},{"line_number":1051,"context_line":"\t\tkeep_alive();"},{"line_number":1052,"context_line":"\t\tif (openocd_shutdown_by_signal()) {"},{"line_number":1053,"context_line":"\t\t\tretval \u003d ERROR_FAIL;"},{"line_number":1054,"context_line":"\t\t\tbreak;"},{"line_number":1055,"context_line":"\t\t}"},{"line_number":1056,"context_line":"\t}"}],"source_content_type":"text/x-csrc","patch_set":3,"id":"a65ebde6_1c964157","line":1053,"in_reply_to":"3776faea_2253d548","updated":"2023-12-05 15:12:39.000000000","message":"Addressed.","commit_id":"d523bd11dc28b34b07213d201f4876b746274f34"},{"author":{"_account_id":1001667,"name":"Jan Matyas","email":"jan.matyas@codasip.com","username":"JanMatCodasip"},"change_message_id":"bdc4b827c8ab3448e2655127b772066578d01919","unresolved":false,"context_lines":[{"line_number":1050,"context_line":"\t\t/* Avoid GDB timeouts */"},{"line_number":1051,"context_line":"\t\tkeep_alive();"},{"line_number":1052,"context_line":"\t\tif (openocd_shutdown_by_signal()) {"},{"line_number":1053,"context_line":"\t\t\tretval \u003d ERROR_FAIL;"},{"line_number":1054,"context_line":"\t\t\tbreak;"},{"line_number":1055,"context_line":"\t\t}"},{"line_number":1056,"context_line":"\t}"}],"source_content_type":"text/x-csrc","patch_set":3,"id":"51c08f03_195abd85","line":1053,"in_reply_to":"a65ebde6_1c964157","updated":"2023-12-05 15:43:16.000000000","message":"Done","commit_id":"d523bd11dc28b34b07213d201f4876b746274f34"},{"author":{"_account_id":1000687,"name":"Tomas Vanek","display_name":"Tomas Vanek","email":"vanekt@fbl.cz","username":"vanekt"},"change_message_id":"4f2a56e8cdabd8986881a7a805c468292e389aee","unresolved":true,"context_lines":[{"line_number":1050,"context_line":"\t\t/* Avoid GDB timeouts */"},{"line_number":1051,"context_line":"\t\tkeep_alive();"},{"line_number":1052,"context_line":"\t\tif (openocd_is_shutdown_pending()) {"},{"line_number":1053,"context_line":"\t\t\tretval \u003d ERROR_SERVER_INTERRUPTED;"},{"line_number":1054,"context_line":"\t\t\tbreak;"},{"line_number":1055,"context_line":"\t\t}"},{"line_number":1056,"context_line":"\t}"}],"source_content_type":"text/x-csrc","patch_set":7,"id":"0a65670a_eb8c6b40","line":1053,"updated":"2023-12-06 20:35:30.000000000","message":"I\u0027m not sure if we really want to abort flash write, might be dangerous on some MCUs.\nThe good think is that target algo gets aborted...","commit_id":"6d2c8e18b1f9f44285d6cbca94af7f2d5c1b8a0d"},{"author":{"_account_id":1002047,"name":"Evgeniy Naydanov","email":"eugnay@gmail.com","username":"en-sc"},"change_message_id":"9915fb79b78cb1214176453e16b05ebc766b70f1","unresolved":true,"context_lines":[{"line_number":1050,"context_line":"\t\t/* Avoid GDB timeouts */"},{"line_number":1051,"context_line":"\t\tkeep_alive();"},{"line_number":1052,"context_line":"\t\tif (openocd_is_shutdown_pending()) {"},{"line_number":1053,"context_line":"\t\t\tretval \u003d ERROR_SERVER_INTERRUPTED;"},{"line_number":1054,"context_line":"\t\t\tbreak;"},{"line_number":1055,"context_line":"\t\t}"},{"line_number":1056,"context_line":"\t}"}],"source_content_type":"text/x-csrc","patch_set":7,"id":"3bc71a45_10cd997b","line":1053,"in_reply_to":"0a65670a_eb8c6b40","updated":"2023-12-07 10:35:33.000000000","message":"Removed the change from the patch.","commit_id":"6d2c8e18b1f9f44285d6cbca94af7f2d5c1b8a0d"},{"author":{"_account_id":1000021,"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","username":"borneoa"},"change_message_id":"b2dd054c8cd111bcdfa3e04f92136778d9a5a940","unresolved":false,"context_lines":[{"line_number":1050,"context_line":"\t\t/* Avoid GDB timeouts */"},{"line_number":1051,"context_line":"\t\tkeep_alive();"},{"line_number":1052,"context_line":"\t\tif (openocd_is_shutdown_pending()) {"},{"line_number":1053,"context_line":"\t\t\tretval \u003d ERROR_SERVER_INTERRUPTED;"},{"line_number":1054,"context_line":"\t\t\tbreak;"},{"line_number":1055,"context_line":"\t\t}"},{"line_number":1056,"context_line":"\t}"}],"source_content_type":"text/x-csrc","patch_set":7,"id":"1b45a5c6_37e53336","line":1053,"in_reply_to":"3bc71a45_10cd997b","updated":"2023-12-12 08:42:14.000000000","message":"Done","commit_id":"6d2c8e18b1f9f44285d6cbca94af7f2d5c1b8a0d"},{"author":{"_account_id":1000687,"name":"Tomas Vanek","display_name":"Tomas Vanek","email":"vanekt@fbl.cz","username":"vanekt"},"change_message_id":"4f2a56e8cdabd8986881a7a805c468292e389aee","unresolved":true,"context_lines":[{"line_number":1841,"context_line":"\tcallback_processing \u003d true;"},{"line_number":1842,"context_line":""},{"line_number":1843,"context_line":"\tkeep_alive();"},{"line_number":1844,"context_line":"\tif (openocd_is_shutdown_pending())"},{"line_number":1845,"context_line":"\t\treturn ERROR_SERVER_INTERRUPTED;"},{"line_number":1846,"context_line":""},{"line_number":1847,"context_line":"\tint64_t now \u003d timeval_ms();"},{"line_number":1848,"context_line":""}],"source_content_type":"text/x-csrc","patch_set":7,"id":"2172d357_881bba88","line":1845,"range":{"start_line":1844,"start_character":1,"end_line":1845,"end_character":34},"updated":"2023-12-06 20:35:30.000000000","message":"This is not loop - probably useless to return ERROR_SERVER_INTERRUPTED\nas the return is mostly ignored and timer callbacks processing should not take long time.\nIt\u0027s also disputable why keep_alive() is called here. TBH I have no idea.","commit_id":"6d2c8e18b1f9f44285d6cbca94af7f2d5c1b8a0d"},{"author":{"_account_id":1002047,"name":"Evgeniy Naydanov","email":"eugnay@gmail.com","username":"en-sc"},"change_message_id":"9915fb79b78cb1214176453e16b05ebc766b70f1","unresolved":true,"context_lines":[{"line_number":1841,"context_line":"\tcallback_processing \u003d true;"},{"line_number":1842,"context_line":""},{"line_number":1843,"context_line":"\tkeep_alive();"},{"line_number":1844,"context_line":"\tif (openocd_is_shutdown_pending())"},{"line_number":1845,"context_line":"\t\treturn ERROR_SERVER_INTERRUPTED;"},{"line_number":1846,"context_line":""},{"line_number":1847,"context_line":"\tint64_t now \u003d timeval_ms();"},{"line_number":1848,"context_line":""}],"source_content_type":"text/x-csrc","patch_set":7,"id":"94c6ff09_0fdf0593","line":1845,"range":{"start_line":1844,"start_character":1,"end_line":1845,"end_character":34},"in_reply_to":"2172d357_881bba88","updated":"2023-12-07 10:35:33.000000000","message":"Removed the change from the patch.","commit_id":"6d2c8e18b1f9f44285d6cbca94af7f2d5c1b8a0d"},{"author":{"_account_id":1000021,"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","username":"borneoa"},"change_message_id":"b2dd054c8cd111bcdfa3e04f92136778d9a5a940","unresolved":false,"context_lines":[{"line_number":1841,"context_line":"\tcallback_processing \u003d true;"},{"line_number":1842,"context_line":""},{"line_number":1843,"context_line":"\tkeep_alive();"},{"line_number":1844,"context_line":"\tif (openocd_is_shutdown_pending())"},{"line_number":1845,"context_line":"\t\treturn ERROR_SERVER_INTERRUPTED;"},{"line_number":1846,"context_line":""},{"line_number":1847,"context_line":"\tint64_t now \u003d timeval_ms();"},{"line_number":1848,"context_line":""}],"source_content_type":"text/x-csrc","patch_set":7,"id":"f4293742_1bd68cd2","line":1845,"range":{"start_line":1844,"start_character":1,"end_line":1845,"end_character":34},"in_reply_to":"94c6ff09_0fdf0593","updated":"2023-12-12 08:42:14.000000000","message":"Done","commit_id":"6d2c8e18b1f9f44285d6cbca94af7f2d5c1b8a0d"},{"author":{"_account_id":1000021,"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","username":"borneoa"},"change_message_id":"d6fe729b612ca8ef732a5e6471d6ac72e696e8f5","unresolved":true,"context_lines":[{"line_number":1198,"context_line":""},{"line_number":1199,"context_line":"\t\t/* Avoid GDB timeouts */"},{"line_number":1200,"context_line":"\t\tkeep_alive();"},{"line_number":1201,"context_line":"\t\tif (openocd_is_shutdown_pending()) {"},{"line_number":1202,"context_line":"\t\t\tretval \u003d ERROR_SERVER_INTERRUPTED;"},{"line_number":1203,"context_line":"\t\t\tbreak;"},{"line_number":1204,"context_line":"\t\t}"}],"source_content_type":"text/x-csrc","patch_set":8,"id":"c80585dd_86768643","line":1201,"updated":"2023-12-11 09:02:34.000000000","message":"add an empty line; here it looks like the comment for keep_alive() extends to this new code too. Or drop the comment!\nThere is an empty line after this new code that can be dropped too.","commit_id":"f4b84c505dc945ee3259cd99718362315681b0b0"},{"author":{"_account_id":1002047,"name":"Evgeniy Naydanov","email":"eugnay@gmail.com","username":"en-sc"},"change_message_id":"c2e901be331fd71ef04b30bd311cbc0af1315b43","unresolved":true,"context_lines":[{"line_number":1198,"context_line":""},{"line_number":1199,"context_line":"\t\t/* Avoid GDB timeouts */"},{"line_number":1200,"context_line":"\t\tkeep_alive();"},{"line_number":1201,"context_line":"\t\tif (openocd_is_shutdown_pending()) {"},{"line_number":1202,"context_line":"\t\t\tretval \u003d ERROR_SERVER_INTERRUPTED;"},{"line_number":1203,"context_line":"\t\t\tbreak;"},{"line_number":1204,"context_line":"\t\t}"}],"source_content_type":"text/x-csrc","patch_set":8,"id":"cec21602_588c9207","line":1201,"in_reply_to":"c80585dd_86768643","updated":"2023-12-12 07:53:04.000000000","message":"Addressed.","commit_id":"f4b84c505dc945ee3259cd99718362315681b0b0"},{"author":{"_account_id":1000021,"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","username":"borneoa"},"change_message_id":"b2dd054c8cd111bcdfa3e04f92136778d9a5a940","unresolved":false,"context_lines":[{"line_number":1198,"context_line":""},{"line_number":1199,"context_line":"\t\t/* Avoid GDB timeouts */"},{"line_number":1200,"context_line":"\t\tkeep_alive();"},{"line_number":1201,"context_line":"\t\tif (openocd_is_shutdown_pending()) {"},{"line_number":1202,"context_line":"\t\t\tretval \u003d ERROR_SERVER_INTERRUPTED;"},{"line_number":1203,"context_line":"\t\t\tbreak;"},{"line_number":1204,"context_line":"\t\t}"}],"source_content_type":"text/x-csrc","patch_set":8,"id":"76041290_bb2339e2","line":1201,"in_reply_to":"cec21602_588c9207","updated":"2023-12-12 08:42:14.000000000","message":"Done","commit_id":"f4b84c505dc945ee3259cd99718362315681b0b0"},{"author":{"_account_id":1000021,"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","username":"borneoa"},"change_message_id":"d6fe729b612ca8ef732a5e6471d6ac72e696e8f5","unresolved":true,"context_lines":[{"line_number":3509,"context_line":"\t\t\tbreak;"},{"line_number":3510,"context_line":"\t\t/* avoid GDB timeouts */"},{"line_number":3511,"context_line":"\t\tkeep_alive();"},{"line_number":3512,"context_line":"\t\tif (openocd_is_shutdown_pending()) {"},{"line_number":3513,"context_line":"\t\t\tretval \u003d ERROR_SERVER_INTERRUPTED;"},{"line_number":3514,"context_line":"\t\t\tbreak;"},{"line_number":3515,"context_line":"\t\t}"}],"source_content_type":"text/x-csrc","patch_set":8,"id":"b0222a46_84feedfc","line":3512,"updated":"2023-12-11 09:02:34.000000000","message":"same here, or drop the comment or add an empty line after keep_alive()","commit_id":"f4b84c505dc945ee3259cd99718362315681b0b0"},{"author":{"_account_id":1000021,"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","username":"borneoa"},"change_message_id":"b2dd054c8cd111bcdfa3e04f92136778d9a5a940","unresolved":false,"context_lines":[{"line_number":3509,"context_line":"\t\t\tbreak;"},{"line_number":3510,"context_line":"\t\t/* avoid GDB timeouts */"},{"line_number":3511,"context_line":"\t\tkeep_alive();"},{"line_number":3512,"context_line":"\t\tif (openocd_is_shutdown_pending()) {"},{"line_number":3513,"context_line":"\t\t\tretval \u003d ERROR_SERVER_INTERRUPTED;"},{"line_number":3514,"context_line":"\t\t\tbreak;"},{"line_number":3515,"context_line":"\t\t}"}],"source_content_type":"text/x-csrc","patch_set":8,"id":"b7d619a0_71b56dc6","line":3512,"in_reply_to":"690ec652_44bf3249","updated":"2023-12-12 08:42:14.000000000","message":"Done","commit_id":"f4b84c505dc945ee3259cd99718362315681b0b0"},{"author":{"_account_id":1002047,"name":"Evgeniy Naydanov","email":"eugnay@gmail.com","username":"en-sc"},"change_message_id":"c2e901be331fd71ef04b30bd311cbc0af1315b43","unresolved":true,"context_lines":[{"line_number":3509,"context_line":"\t\t\tbreak;"},{"line_number":3510,"context_line":"\t\t/* avoid GDB timeouts */"},{"line_number":3511,"context_line":"\t\tkeep_alive();"},{"line_number":3512,"context_line":"\t\tif (openocd_is_shutdown_pending()) {"},{"line_number":3513,"context_line":"\t\t\tretval \u003d ERROR_SERVER_INTERRUPTED;"},{"line_number":3514,"context_line":"\t\t\tbreak;"},{"line_number":3515,"context_line":"\t\t}"}],"source_content_type":"text/x-csrc","patch_set":8,"id":"690ec652_44bf3249","line":3512,"in_reply_to":"b0222a46_84feedfc","updated":"2023-12-12 07:53:04.000000000","message":"Addressed.","commit_id":"f4b84c505dc945ee3259cd99718362315681b0b0"}]}
