Project homepage Mailing List  Warmcat.com  API Docs  Github Mirror 
{"schema":"libjg2-1", "vpath":"/git/", "avatar":"/git/avatar/", "alang":"", "gen_ut":1756501018, "reponame":"libwebsockets", "desc":"libwebsockets lightweight C networking library", "owner": { "name": "Andy Green", "email": "andy@warmcat.com", "md5": "c50933ca2aa61e0fe2c43d46bb6b59cb" },"url":"https://libwebsockets.org/repo/libwebsockets", "f":3, "items": [ {"schema":"libjg2-1", "cid":"1bce5913b49c2324f1da252ce89a165f", "commit": {"type":"commit", "time": 1629097652, "time_ofs": 60, "oid_tree": { "oid": "916c40bcd77a9257c1de54b357903a45bf14e230", "alias": []}, "oid":{ "oid": "e644bb4a6e30a695d42bac4a4a6979ca5690e3af", "alias": []}, "msg": "cpd: pass up lws_ss_request_tx ret", "sig_commit": { "git_time": { "time": 1629097652, "offset": 60 }, "name": "Andy Green", "email": "andy@warmcat.com", "md5": "c50933ca2aa61e0fe2c43d46bb6b59cb" }, "sig_author": { "git_time": { "time": 1628607582, "offset": 60 }, "name": "Andy Green", "email": "andy@warmcat.com", "md5": "c50933ca2aa61e0fe2c43d46bb6b59cb" }}, "body": "cpd: pass up lws_ss_request_tx ret\n" , "diff": "diff --git a/include/libwebsockets/lws-secure-streams.h b/include/libwebsockets/lws-secure-streams.h\nindex 47c8fb3..e4cb6ba 100644\n--- a/include/libwebsockets/lws-secure-streams.h\n+++ b/include/libwebsockets/lws-secure-streams.h\n@@ -447,7 +447,7 @@ typedef struct lws_ss_info {\n * formats, \u005cp ppayload_fmt is set to point to the name of the needed payload\n * format from the policy database if non-NULL.\n */\n-LWS_VISIBLE LWS_EXTERN int\n+LWS_VISIBLE LWS_EXTERN int LWS_WARN_UNUSED_RESULT\n lws_ss_create(struct lws_context *context, int tsi, const lws_ss_info_t *ssi,\n \t void *opaque_user_data, struct lws_ss_handle **ppss,\n \t struct lws_sequencer *seq_owner, const char **ppayload_fmt);\n@@ -471,9 +471,9 @@ lws_ss_destroy(struct lws_ss_handle **ppss);\n * write on this stream, the \u005cp *tx callback will occur with an empty buffer for\n * the stream owner to fill in.\n *\n- * Returns 0 or LWSSSSRET_SS_HANDLE_DESTROYED\n+ * Returns 0 or LWSSSSRET_DESTROY_ME\n */\n-LWS_VISIBLE LWS_EXTERN lws_ss_state_return_t\n+LWS_VISIBLE LWS_EXTERN lws_ss_state_return_t LWS_WARN_UNUSED_RESULT\n lws_ss_request_tx(struct lws_ss_handle *pss);\n \n /**\n@@ -489,7 +489,7 @@ lws_ss_request_tx(struct lws_ss_handle *pss);\n * This api variant should be used when it's possible the payload will go out\n * over h1 with x-web-form-urlencoded or similar Content-Type.\n */\n-LWS_VISIBLE LWS_EXTERN lws_ss_state_return_t\n+LWS_VISIBLE LWS_EXTERN lws_ss_state_return_t LWS_WARN_UNUSED_RESULT\n lws_ss_request_tx_len(struct lws_ss_handle *pss, unsigned long len);\n \n /**\n@@ -505,7 +505,7 @@ lws_ss_request_tx_len(struct lws_ss_handle *pss, unsigned long len);\n * LWSSSSRET_OK means the connection is ongoing.\n *\n */\n-LWS_VISIBLE LWS_EXTERN lws_ss_state_return_t\n+LWS_VISIBLE LWS_EXTERN lws_ss_state_return_t LWS_WARN_UNUSED_RESULT\n lws_ss_client_connect(struct lws_ss_handle *h);\n \n /**\ndiff --git a/lib/secure-streams/secure-streams-serialize.c b/lib/secure-streams/secure-streams-serialize.c\nindex ccb786d..09969fe 100644\n--- a/lib/secure-streams/secure-streams-serialize.c\n+++ b/lib/secure-streams/secure-streams-serialize.c\n@@ -362,6 +362,7 @@ lws_ss_deserialize_parse(struct lws_ss_serialization_parser *par,\n \t\t\t lws_ss_conn_states_t *state, void *parconn,\n \t\t\t lws_ss_handle_t **pss, lws_ss_info_t *ssi, char client)\n {\n+\tlws_ss_state_return_t r;\n \tlws_ss_metadata_t *pm;\n \tlws_sspc_handle_t *h;\n \tuint8_t pre[23];\n@@ -1003,11 +1004,14 @@ payload_ff:\n \t\t\tlwsl_notice(\u0022%s: set payload len %u\u005cn\u0022, __func__,\n \t\t\t\t par-\u003etemp32);\n \n-\t\t\tif (proxy_pss_to_ss_h(pss))\n-\t\t\t\tlws_ss_request_tx_len(proxy_pss_to_ss_h(pss),\n-\t\t\t\t\t\t\t(unsigned long)par-\u003etemp32);\n-\n \t\t\tpar-\u003eps \u003d RPAR_TYPE;\n+\n+\t\t\tif (proxy_pss_to_ss_h(pss)) {\n+\t\t\t\tr \u003d lws_ss_request_tx_len(proxy_pss_to_ss_h(pss),\n+\t\t\t\t\t\t\t(unsigned long)par-\u003etemp32);\n+\t\t\t\tif (r \u003d\u003d LWSSSSRET_DESTROY_ME)\n+\t\t\t\t\tgoto hangup;\n+\t\t\t}\n \t\t\tbreak;\n \n \t\tcase RPAR_METADATA_NAMELEN:\ndiff --git a/lib/secure-streams/secure-streams.c b/lib/secure-streams/secure-streams.c\nindex ced61f3..a13e752 100644\n--- a/lib/secure-streams/secure-streams.c\n+++ b/lib/secure-streams/secure-streams.c\n@@ -1512,7 +1512,7 @@ lws_ss_request_tx(lws_ss_handle_t *h)\n \tlws_ss_state_return_t r;\n \n \tr \u003d _lws_ss_request_tx(h);\n-\t_lws_ss_handle_state_ret_CAN_DESTROY_HANDLE(r, NULL, \u0026h);\n+\n \treturn r;\n }\n \ndiff --git a/lib/secure-streams/system/auth-api.amazon.com/auth.c b/lib/secure-streams/system/auth-api.amazon.com/auth.c\nindex afbb720..af297d8 100644\n--- a/lib/secure-streams/system/auth-api.amazon.com/auth.c\n+++ b/lib/secure-streams/system/auth-api.amazon.com/auth.c\n@@ -227,9 +227,8 @@ ss_api_amazon_auth_state(void *userobj, void *sh, lws_ss_constate_t state,\n \t\ts \u003d lws_system_blob_get_size(ab);\n \t\tif (!s)\n \t\t\tlwsl_debug(\u0022%s: no auth blob\u005cn\u0022, __func__);\n-\t\tlws_ss_request_tx_len(m-\u003ess, (unsigned long)s);\n \t\tm-\u003epos \u003d 0;\n-\t\tbreak;\n+\t\treturn lws_ss_request_tx_len(m-\u003ess, (unsigned long)s);\n \n \tcase LWSSSCS_DISCONNECTED:\n \t\t/*\ndiff --git a/lib/secure-streams/system/captive-portal-detect/captive-portal-detect.c b/lib/secure-streams/system/captive-portal-detect/captive-portal-detect.c\nindex 37d23ad..4de54bf 100644\n--- a/lib/secure-streams/system/captive-portal-detect/captive-portal-detect.c\n+++ b/lib/secure-streams/system/captive-portal-detect/captive-portal-detect.c\n@@ -47,8 +47,7 @@ ss_cpd_state(void *userobj, void *sh, lws_ss_constate_t state,\n \tswitch (state) {\n \tcase LWSSSCS_CREATING:\n \t\tlws_ss_start_timeout(m-\u003ess, 3 * LWS_US_PER_SEC);\n-\t\tlws_ss_request_tx(m-\u003ess);\n-\t\tbreak;\n+\t\treturn lws_ss_request_tx(m-\u003ess);\n \n \tcase LWSSSCS_QOS_ACK_REMOTE:\n \t\tlws_system_cpd_set(cx, LWS_CPD_INTERNET_OK);\ndiff --git a/lib/secure-streams/system/fetch-policy/fetch-policy.c b/lib/secure-streams/system/fetch-policy/fetch-policy.c\nindex 237d2db..ee4b139 100644\n--- a/lib/secure-streams/system/fetch-policy/fetch-policy.c\n+++ b/lib/secure-streams/system/fetch-policy/fetch-policy.c\n@@ -102,8 +102,8 @@ ss_fetch_policy_state(void *userobj, void *sh, lws_ss_constate_t state,\n \n \tswitch (state) {\n \tcase LWSSSCS_CREATING:\n-\t\tlws_ss_request_tx(m-\u003ess);\n-\t\tbreak;\n+\t\treturn lws_ss_request_tx(m-\u003ess);\n+\n \tcase LWSSSCS_CONNECTING:\n \t\tbreak;\n \ndiff --git a/minimal-examples/api-tests/api-test-lws_sequencer/main.c b/minimal-examples/api-tests/api-test-lws_sequencer/main.c\nindex becb73b..0db7f40 100644\n--- a/minimal-examples/api-tests/api-test-lws_sequencer/main.c\n+++ b/minimal-examples/api-tests/api-test-lws_sequencer/main.c\n@@ -169,8 +169,8 @@ notify:\n }\n \n static const struct lws_protocols protocols[] \u003d {\n-\t{ \u0022seq-test-http\u0022, callback_http, 0, 0, },\n-\t{ NULL, NULL, 0, 0 }\n+\t{ \u0022seq-test-http\u0022, callback_http, 0, 0, 0, NULL, 0 },\n+\tLWS_PROTOCOL_LIST_TERM\n };\n \n \ndiff --git a/minimal-examples/api-tests/api-test-secure-streams/main.c b/minimal-examples/api-tests/api-test-secure-streams/main.c\nindex 8becb67..841cd1a 100644\n--- a/minimal-examples/api-tests/api-test-secure-streams/main.c\n+++ b/minimal-examples/api-tests/api-test-secure-streams/main.c\n@@ -183,11 +183,11 @@ myss_tx_post(void *userobj, lws_ss_tx_ordinal_t ord, uint8_t *buf, size_t *len,\n \t*len \u003d budget;\n \tm-\u003esent +\u003d budget;\n \tif (m-\u003esent !\u003d next_test-\u003esend)\n-\t\tlws_ss_request_tx(m-\u003ess);\n-\telse\n-\t\t*flags |\u003d LWSSS_FLAG_EOM;\n+\t\treturn lws_ss_request_tx(m-\u003ess);\n \n-\treturn 0;\n+\t*flags |\u003d LWSSS_FLAG_EOM;\n+\n+\treturn LWSSSSRET_OK;\n }\n \n static lws_ss_state_return_t\n@@ -195,15 +195,18 @@ myss_state(void *userobj, void *sh, lws_ss_constate_t state,\n \t lws_ss_tx_ordinal_t ack)\n {\n \tmyss_t *m \u003d (myss_t *)userobj;\n+\tlws_ss_state_return_t r;\n \n \tlwsl_notice(\u0022%s: %s, ord 0x%x\u005cn\u0022, __func__, lws_ss_state_name((int)state),\n \t\t (unsigned int)ack);\n \n \tswitch (state) {\n \tcase LWSSSCS_CREATING:\n-\t\tlws_ss_client_connect(m-\u003ess);\n+\t\tr \u003d lws_ss_client_connect(m-\u003ess);\n+\t\tif (r)\n+\t\t\treturn r;\n \t\tif (next_test-\u003esend)\n-\t\t\tlws_ss_request_tx_len(m-\u003ess, (unsigned long)next_test-\u003esend);\n+\t\t\treturn lws_ss_request_tx_len(m-\u003ess, (unsigned long)next_test-\u003esend);\n \t\tbreak;\n \tcase LWSSSCS_ALL_RETRIES_FAILED:\n \t\tlwsl_notice(\u0022%s: Connection failed\u005cn\u0022, __func__);\n@@ -258,7 +261,7 @@ happy:\n \t\tbreak;\n \t}\n \n-\treturn 0;\n+\treturn LWSSSSRET_OK;\n }\n \n static const lws_ss_info_t ssi_get \u003d {\ndiff --git a/minimal-examples/embedded/esp32/esp-heltec-wb32/main/lws-minimal-esp32.c b/minimal-examples/embedded/esp32/esp-heltec-wb32/main/lws-minimal-esp32.c\nindex ecde1a0..a249906 100644\n--- a/minimal-examples/embedded/esp32/esp-heltec-wb32/main/lws-minimal-esp32.c\n+++ b/minimal-examples/embedded/esp32/esp-heltec-wb32/main/lws-minimal-esp32.c\n@@ -86,7 +86,7 @@ myss_state(void *userobj, void *sh, lws_ss_constate_t state,\n \n \tswitch (state) {\n \tcase LWSSSCS_CREATING:\n-\t\tlws_ss_client_connect(m-\u003ess);\n+\t\treturn lws_ss_client_connect(m-\u003ess);\n \t\tbreak;\n \tdefault:\n \t\tbreak;\ndiff --git a/minimal-examples/secure-streams/minimal-secure-streams-avs/avs.c b/minimal-examples/secure-streams/minimal-secure-streams-avs/avs.c\nindex 6728146..bb453bf 100644\n--- a/minimal-examples/secure-streams/minimal-secure-streams-avs/avs.c\n+++ b/minimal-examples/secure-streams/minimal-secure-streams-avs/avs.c\n@@ -187,7 +187,7 @@ ss_avs_metadata_tx(void *userobj, lws_ss_tx_ordinal_t ord, uint8_t *buf,\n \t\t\tlwsl_info(\u0022%s: tx done\u005cn\u0022, __func__);\n \t\t\tm-\u003epos \u003d (size_t)-1l; /* ban subsequent until new stream */\n \t\t} else\n-\t\t\tlws_ss_request_tx(m-\u003ess);\n+\t\t\treturn lws_ss_request_tx(m-\u003ess);\n \n \t\tlwsl_hexdump_info(buf, *len);\n \n@@ -211,7 +211,7 @@ ss_avs_metadata_tx(void *userobj, lws_ss_tx_ordinal_t ord, uint8_t *buf,\n \tif (m-\u003epos \u003d\u003d tot) {\n \t\t*flags |\u003d LWSSS_FLAG_EOM;\n \t\tm-\u003epos \u003d 0; /* for next time */\n-\t\tlws_ss_request_tx(m-\u003ess);\n+\t\treturn lws_ss_request_tx(m-\u003ess);\n \t}\n \n \tlwsl_hexdump_info(buf, *len);\ndiff --git a/minimal-examples/secure-streams/minimal-secure-streams-post/minimal-secure-streams-post.c b/minimal-examples/secure-streams/minimal-secure-streams-post/minimal-secure-streams-post.c\nindex 39257e3..087d494 100644\n--- a/minimal-examples/secure-streams/minimal-secure-streams-post/minimal-secure-streams-post.c\n+++ b/minimal-examples/secure-streams/minimal-secure-streams-post/minimal-secure-streams-post.c\n@@ -318,13 +318,15 @@ myss_tx(void *userobj, lws_ss_tx_ordinal_t ord, uint8_t *buf, size_t *len,\n \tmemcpy(buf, postbody + m-\u003epos, *len);\n \n \tm-\u003epos +\u003d *len;\n+\n \tif (m-\u003epos \u003d\u003d m-\u003elen)\n \t\t*flags |\u003d LWSSS_FLAG_EOM;\n-\telse\n-\t\tlws_ss_request_tx(m-\u003ess);\n \n \tlwsl_notice(\u0022%s: write %d flags %d\u005cn\u0022, __func__, (int)*len, (int)*flags);\n \n+\tif (m-\u003epos !\u003d m-\u003elen)\n+\t\treturn lws_ss_request_tx(m-\u003ess);\n+\n \treturn 0;\n }\n \n@@ -353,11 +355,12 @@ myss_state(void *userobj, void *sh, lws_ss_constate_t state,\n \t\t/* provide a hint about the payload size */\n \t\tm-\u003epos \u003d 0;\n \t\tm-\u003elen \u003d strlen(postbody);\n-\t\tlws_ss_request_tx_len(m-\u003ess, (unsigned long)strlen(postbody));\n-\t\tbreak;\n+\n+\t\treturn lws_ss_request_tx_len(m-\u003ess, (unsigned long)strlen(postbody));\n+\n \tcase LWSSSCS_CONNECTED:\n-\t\tlws_ss_request_tx(m-\u003ess);\n-\t\tbreak;\n+\t\treturn lws_ss_request_tx(m-\u003ess);\n+\n \tcase LWSSSCS_ALL_RETRIES_FAILED:\n \t\t/* if we're out of retries, we want to close the app and FAIL */\n \t\tinterrupted \u003d 1;\ndiff --git a/minimal-examples/secure-streams/minimal-secure-streams-seq/minimal-secure-streams.c b/minimal-examples/secure-streams/minimal-secure-streams-seq/minimal-secure-streams.c\nindex c6a7abe..6b7dd83 100644\n--- a/minimal-examples/secure-streams/minimal-secure-streams-seq/minimal-secure-streams.c\n+++ b/minimal-examples/secure-streams/minimal-secure-streams-seq/minimal-secure-streams.c\n@@ -182,8 +182,8 @@ myss_state(void *userobj, void *sh, lws_ss_constate_t state,\n \n \tswitch (state) {\n \tcase LWSSSCS_CREATING:\n-\t\tlws_ss_request_tx(m-\u003ess);\n-\t\tbreak;\n+\t\treturn lws_ss_request_tx(m-\u003ess);\n+\n \tcase LWSSSCS_ALL_RETRIES_FAILED:\n \t\t/* if we're out of retries, we want to close the app and FAIL */\n \t\tinterrupted \u003d 1;\n@@ -266,7 +266,7 @@ min_sec_str_sequencer_cb(struct lws_sequencer *seq, void *user, int event,\n \n \tcase LWSSEQ_TIMED_OUT: /* current step timed out */\n \t\tif (s-\u003estate \u003d\u003d SEQ_RECONNECT_WAIT)\n-\t\t\tlws_ss_request_tx(s-\u003ess);\n+\t\t\treturn lws_ss_request_tx(s-\u003ess);\n \t\tbreak;\n \n \t/*\n@@ -277,8 +277,8 @@ min_sec_str_sequencer_cb(struct lws_sequencer *seq, void *user, int event,\n \n \tcase LWSSEQ_SS_STATE_BASE + LWSSSCS_CREATING:\n \t\tlwsl_info(\u0022%s: seq LWSSSCS_CREATING\u005cn\u0022, __func__);\n-\t\tlws_ss_request_tx(s-\u003ess);\n-\t\tbreak;\n+\t\treturn lws_ss_request_tx(s-\u003ess);\n+\n \tcase LWSSEQ_SS_STATE_BASE + LWSSSCS_DISCONNECTED:\n \t\tlwsl_info(\u0022%s: seq LWSSSCS_DISCONNECTED\u005cn\u0022, __func__);\n \t\tbreak;\ndiff --git a/minimal-examples/secure-streams/minimal-secure-streams-server-raw/ss-server.c b/minimal-examples/secure-streams/minimal-secure-streams-server-raw/ss-server.c\nindex 7ad0b84..4d395d4 100644\n--- a/minimal-examples/secure-streams/minimal-secure-streams-server-raw/ss-server.c\n+++ b/minimal-examples/secure-streams/minimal-secure-streams-server-raw/ss-server.c\n@@ -54,9 +54,8 @@ spam_sul_cb(struct lws_sorted_usec_list *sul)\n {\n \tmyss_srv_t *m \u003d lws_container_of(sul, myss_srv_t, sul);\n \n-\tlws_ss_request_tx(m-\u003ess);\n-\n-\tlws_sul_schedule(lws_ss_get_context(m-\u003ess), 0, \u0026m-\u003esul, spam_sul_cb,\n+\tif (!lws_ss_request_tx(m-\u003ess))\n+\t\tlws_sul_schedule(lws_ss_get_context(m-\u003ess), 0, \u0026m-\u003esul, spam_sul_cb,\n \t\t\t 100 * LWS_US_PER_MS);\n }\n \n@@ -90,8 +89,7 @@ myss_raw_state(void *userobj, void *sh, lws_ss_constate_t state,\n \t\tlws_sul_cancel(\u0026m-\u003esul);\n \t\tbreak;\n \tcase LWSSSCS_CONNECTED:\n-\t\tlws_ss_request_tx(m-\u003ess);\n-\t\tbreak;\n+\t\treturn lws_ss_request_tx(m-\u003ess);\n \n \tdefault:\n \t\tbreak;\ndiff --git a/minimal-examples/secure-streams/minimal-secure-streams-server/ss-client.c b/minimal-examples/secure-streams/minimal-secure-streams-server/ss-client.c\nindex 64834c3..58c0fd9 100644\n--- a/minimal-examples/secure-streams/minimal-secure-streams-server/ss-client.c\n+++ b/minimal-examples/secure-streams/minimal-secure-streams-server/ss-client.c\n@@ -62,7 +62,7 @@ myss_state(void *userobj, void *sh, lws_ss_constate_t state,\n \n \tswitch (state) {\n \tcase LWSSSCS_CREATING:\n-\t\tlws_ss_request_tx(m-\u003ess);\n+\t\treturn lws_ss_request_tx(m-\u003ess);\n \t\tbreak;\n \tcase LWSSSCS_ALL_RETRIES_FAILED:\n \t\t/* if we're out of retries, we want to close the app and FAIL */\ndiff --git a/minimal-examples/secure-streams/minimal-secure-streams-server/ss-server.c b/minimal-examples/secure-streams/minimal-secure-streams-server/ss-server.c\nindex 2a81092..1b04545 100644\n--- a/minimal-examples/secure-streams/minimal-secure-streams-server/ss-server.c\n+++ b/minimal-examples/secure-streams/minimal-secure-streams-server/ss-server.c\n@@ -134,9 +134,8 @@ spam_sul_cb(struct lws_sorted_usec_list *sul)\n {\n \tmyss_srv_t *m \u003d lws_container_of(sul, myss_srv_t, sul);\n \n-\tlws_ss_request_tx(m-\u003ess);\n-\n-\tlws_sul_schedule(lws_ss_get_context(m-\u003ess), 0, \u0026m-\u003esul, spam_sul_cb,\n+\tif (!lws_ss_request_tx(m-\u003ess))\n+\t\tlws_sul_schedule(lws_ss_get_context(m-\u003ess), 0, \u0026m-\u003esul, spam_sul_cb,\n \t\t\t 100 * LWS_US_PER_MS);\n }\n \n@@ -170,8 +169,8 @@ myss_srv_state(void *userobj, void *sh, lws_ss_constate_t state,\n \t\tlws_sul_cancel(\u0026m-\u003esul);\n \t\tbreak;\n \tcase LWSSSCS_CREATING:\n-\t\tlws_ss_request_tx(m-\u003ess);\n-\t\tbreak;\n+\t\treturn lws_ss_request_tx(m-\u003ess);\n+\n \tcase LWSSSCS_ALL_RETRIES_FAILED:\n \t\t/* if we're out of retries, we want to close the app and FAIL */\n \t\tinterrupted \u003d 1;\n@@ -201,10 +200,9 @@ myss_srv_state(void *userobj, void *sh, lws_ss_constate_t state,\n \t\t/*\n \t\t * ...it's going to be whatever size it is (and request tx)\n \t\t */\n-\t\tlws_ss_request_tx_len(m-\u003ess, (unsigned long)\n+\t\treturn lws_ss_request_tx_len(m-\u003ess, (unsigned long)\n \t\t\t\t(multipart ? strlen(multipart_html) :\n \t\t\t\t\t\t\t strlen(html)));\n-\t\tbreak;\n \n \tcase LWSSSCS_SERVER_UPGRADE:\n \n@@ -217,8 +215,8 @@ myss_srv_state(void *userobj, void *sh, lws_ss_constate_t state,\n \n \t\tm-\u003eupgraded \u003d 1;\n \t\tlws_ss_change_handlers(m-\u003ess, myss_ws_rx, myss_ws_tx, NULL);\n-\t\tlws_ss_request_tx(m-\u003ess); /* we want to start sending numbers */\n-\t\tbreak;\n+\t\treturn lws_ss_request_tx(m-\u003ess); /* we want to start sending numbers */\n+\n \tdefault:\n \t\tbreak;\n \t}\ndiff --git a/minimal-examples/secure-streams/minimal-secure-streams-sigv4/ss-s3-ss.c b/minimal-examples/secure-streams/minimal-secure-streams-sigv4/ss-s3-ss.c\nindex b12f8f5..1acd431 100644\n--- a/minimal-examples/secure-streams/minimal-secure-streams-sigv4/ss-s3-ss.c\n+++ b/minimal-examples/secure-streams/minimal-secure-streams-sigv4/ss-s3-ss.c\n@@ -57,7 +57,7 @@ ss_s3_tx(void *userobj, lws_ss_tx_ordinal_t ord, uint8_t *buf, size_t *len,\n \t\t*flags |\u003d LWSSS_FLAG_EOM;\n \t\t// m-\u003epos \u003d 0; /* we only want to send once */\n \t} else\n-\t\tlws_ss_request_tx(m-\u003ess);\n+\t\treturn lws_ss_request_tx(m-\u003ess);\n \n \treturn LWSSSSRET_OK;\n }\n@@ -173,12 +173,10 @@ ss_s3_state(void *userobj, void *sh, lws_ss_constate_t state,\n \t\t\t\t timestamp, strlen(timestamp)))\n \t\t\treturn LWSSSSRET_DESTROY_ME;\n \n-\t\tlws_ss_request_tx_len(m-\u003ess, m-\u003etotal);\n-\t\tbreak;\n+\t\treturn lws_ss_request_tx_len(m-\u003ess, m-\u003etotal);\n \n \tcase LWSSSCS_CONNECTED:\n-\t\tlws_ss_request_tx(m-\u003ess);\n-\t\tbreak;\n+\t\treturn lws_ss_request_tx(m-\u003ess);\n \n \tcase LWSSSCS_DISCONNECTED:\n \t\treturn LWSSSSRET_DESTROY_ME;\ndiff --git a/minimal-examples/secure-streams/minimal-secure-streams-smd/minimal-secure-streams-smd.c b/minimal-examples/secure-streams/minimal-secure-streams-smd/minimal-secure-streams-smd.c\nindex 741e693..3a9577f 100644\n--- a/minimal-examples/secure-streams/minimal-secure-streams-smd/minimal-secure-streams-smd.c\n+++ b/minimal-examples/secure-streams/minimal-secure-streams-smd/minimal-secure-streams-smd.c\n@@ -94,7 +94,8 @@ sul_tx_periodic_cb(lws_sorted_usec_list_t *sul)\n \tmyss_t *m \u003d lws_container_of(sul, myss_t, sul);\n \n \tlwsl_info(\u0022%s: requesting TX\u005cn\u0022, __func__);\n-\tlws_ss_request_tx(m-\u003ess);\n+\tif (lws_ss_request_tx(m-\u003ess))\n+\t\tlwsl_info(\u0022%s: req failed\u005cn\u0022, __func__);\n }\n \n static lws_ss_state_return_t\n","s":{"c":1756501018,"u": 8809}} ],"g": 11873,"chitpc": 0,"ehitpc": 0,"indexed":0 , "ab": 0, "si": 0, "db":0, "di":0, "sat":0, "lfc": "0000"}