Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package aws-c-event-stream for openSUSE:Factory checked in at 2025-09-19 16:10:51 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/aws-c-event-stream (Old) and /work/SRC/openSUSE:Factory/.aws-c-event-stream.new.27445 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "aws-c-event-stream" Fri Sep 19 16:10:51 2025 rev:9 rq:1305993 version:0.5.7 Changes: -------- --- /work/SRC/openSUSE:Factory/aws-c-event-stream/aws-c-event-stream.changes 2025-08-15 21:53:35.207928084 +0200 +++ /work/SRC/openSUSE:Factory/.aws-c-event-stream.new.27445/aws-c-event-stream.changes 2025-09-19 16:10:52.453979738 +0200 @@ -1,0 +2,6 @@ +Fri Sep 12 12:03:56 UTC 2025 - John Paul Adrian Glaubitz <[email protected]> + +- Update to version 0.5.7 + * Serialized scheduling by @bretambrose in (#133) + +------------------------------------------------------------------- Old: ---- v0.5.6.tar.gz New: ---- v0.5.7.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ aws-c-event-stream.spec ++++++ --- /var/tmp/diff_new_pack.7FMOED/_old 2025-09-19 16:10:53.178010054 +0200 +++ /var/tmp/diff_new_pack.7FMOED/_new 2025-09-19 16:10:53.182010221 +0200 @@ -21,7 +21,7 @@ %define library_version 1.0.0 %define library_soversion 1 Name: aws-c-event-stream -Version: 0.5.6 +Version: 0.5.7 Release: 0 Summary: C99 implementation of the vnd.amazon.eventstream content-type License: Apache-2.0 ++++++ v0.5.6.tar.gz -> v0.5.7.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/aws-c-event-stream-0.5.6/source/event_stream_rpc_client.c new/aws-c-event-stream-0.5.7/source/event_stream_rpc_client.c --- old/aws-c-event-stream-0.5.6/source/event_stream_rpc_client.c 2025-08-06 21:49:53.000000000 +0200 +++ new/aws-c-event-stream-0.5.7/source/event_stream_rpc_client.c 2025-09-10 20:45:50.000000000 +0200 @@ -797,6 +797,18 @@ goto should_fail_block; } + if (message_args->continuation != NULL) { + if (aws_event_stream_rpc_client_continuation_is_closed(message_args->continuation)) { + AWS_LOGF_INFO( + AWS_LS_EVENT_STREAM_RPC_CLIENT, + "id=%p: continuation closed, cannot send messages", + (void *)message_args->continuation); + + failure_error_code = AWS_ERROR_EVENT_STREAM_RPC_STREAM_CLOSED; + goto should_fail_block; + } + } + should_fail = false; } @@ -832,8 +844,10 @@ (*message_args->flush_fn)(failure_error_code, message_args->user_data); } - /* Fail-to-send is connection fatal */ - if (connection->channel != NULL) { + /* Fail-to-send a non-application message is connection fatal */ + if (connection->channel != NULL && + message_args->message_type != AWS_EVENT_STREAM_RPC_MESSAGE_TYPE_APPLICATION_MESSAGE && + message_args->message_type != AWS_EVENT_STREAM_RPC_MESSAGE_TYPE_APPLICATION_ERROR) { aws_channel_shutdown(connection->channel, failure_error_code); } } @@ -873,7 +887,7 @@ struct aws_event_stream_client_connection_send_message_task *task = s_aws_event_stream_client_connection_send_message_task_new(connection->allocator, args); - aws_event_loop_schedule_task_now(connection->event_loop, &task->base); + aws_event_loop_schedule_task_now_serialized(connection->event_loop, &task->base); return AWS_OP_SUCCESS; } @@ -1007,9 +1021,6 @@ aws_mutex_unlock(&connection->lock); - continuation->continuation_fn(continuation, &message_args, continuation->user_data); - - /* if it was a terminal stream message purge it from the hash table. The delete will decref the continuation. */ if (message_flags & AWS_EVENT_STREAM_RPC_MESSAGE_FLAG_TERMINATE_STREAM) { AWS_LOGF_DEBUG( AWS_LS_EVENT_STREAM_RPC_CLIENT, @@ -1017,6 +1028,12 @@ (void *)connection, (void *)continuation); aws_atomic_store_int(&continuation->is_closed, 1U); + } + + continuation->continuation_fn(continuation, &message_args, continuation->user_data); + + /* if it was a terminal stream message purge it from the hash table. The delete will decref the continuation. */ + if (message_flags & AWS_EVENT_STREAM_RPC_MESSAGE_FLAG_TERMINATE_STREAM) { int was_present = 0; aws_mutex_lock(&connection->lock); aws_hash_table_remove(&connection->synced_data.continuation_table, &stream_id, NULL, &was_present);
