projects
/
babeltrace.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
lib: make can_seek_beginning and can_seek_ns_from_origin methods return a status
[babeltrace.git]
/
src
/
plugins
/
utils
/
muxer
/
muxer.c
diff --git
a/src/plugins/utils/muxer/muxer.c
b/src/plugins/utils/muxer/muxer.c
index 328d3a28334a46737837a9a18ed3ea78bdbf0918..d6ca31bb63b435383c45c1ee55d5505425b44472 100644
(file)
--- a/
src/plugins/utils/muxer/muxer.c
+++ b/
src/plugins/utils/muxer/muxer.c
@@
-1488,49
+1488,57
@@
end:
}
static inline
}
static inline
-bt_bool muxer_upstream_msg_iters_can_all_seek_beginning(
- GPtrArray *muxer_upstream_msg_iters)
+bt_component_class_message_iterator_can_seek_beginning_method_status
+muxer_upstream_msg_iters_can_all_seek_beginning(
+ GPtrArray *muxer_upstream_msg_iters, bt_bool *can_seek)
{
{
+ bt_component_class_message_iterator_can_seek_beginning_method_status status;
uint64_t i;
uint64_t i;
- bt_bool ret = BT_TRUE;
for (i = 0; i < muxer_upstream_msg_iters->len; i++) {
struct muxer_upstream_msg_iter *upstream_msg_iter =
muxer_upstream_msg_iters->pdata[i];
for (i = 0; i < muxer_upstream_msg_iters->len; i++) {
struct muxer_upstream_msg_iter *upstream_msg_iter =
muxer_upstream_msg_iters->pdata[i];
+ status = (int) bt_self_component_port_input_message_iterator_can_seek_beginning(
+ upstream_msg_iter->msg_iter, can_seek);
+ if (status != BT_COMPONENT_CLASS_MESSAGE_ITERATOR_CAN_SEEK_BEGINNING_METHOD_STATUS_OK) {
+ goto end;
+ }
- if (!bt_self_component_port_input_message_iterator_can_seek_beginning(
- upstream_msg_iter->msg_iter)) {
- ret = BT_FALSE;
+ if (!*can_seek) {
goto end;
}
}
goto end;
}
}
+ *can_seek = BT_TRUE;
+
end:
end:
- return
ret
;
+ return
status
;
}
BT_HIDDEN
}
BT_HIDDEN
-bt_bool muxer_msg_iter_can_seek_beginning(
- bt_self_message_iterator *self_msg_iter)
+bt_component_class_message_iterator_can_seek_beginning_method_status
+muxer_msg_iter_can_seek_beginning(
+ bt_self_message_iterator *self_msg_iter, bt_bool *can_seek)
{
struct muxer_msg_iter *muxer_msg_iter =
bt_self_message_iterator_get_data(self_msg_iter);
{
struct muxer_msg_iter *muxer_msg_iter =
bt_self_message_iterator_get_data(self_msg_iter);
- bt_
bool ret = BT_TRUE
;
+ bt_
component_class_message_iterator_can_seek_beginning_method_status status
;
-
if (!
muxer_upstream_msg_iters_can_all_seek_beginning(
- muxer_msg_iter->active_muxer_upstream_msg_iters)) {
- ret = BT_FALSE;
+
status =
muxer_upstream_msg_iters_can_all_seek_beginning(
+ muxer_msg_iter->active_muxer_upstream_msg_iters, can_seek);
+ if (status != BT_COMPONENT_CLASS_MESSAGE_ITERATOR_CAN_SEEK_BEGINNING_METHOD_STATUS_OK) {
goto end;
}
goto end;
}
- if (!muxer_upstream_msg_iters_can_all_seek_beginning(
- muxer_msg_iter->ended_muxer_upstream_msg_iters)) {
- ret = BT_FALSE;
+ if (!*can_seek) {
goto end;
}
goto end;
}
+ status = muxer_upstream_msg_iters_can_all_seek_beginning(
+ muxer_msg_iter->ended_muxer_upstream_msg_iters, can_seek);
+
end:
end:
- return
ret
;
+ return
status
;
}
BT_HIDDEN
}
BT_HIDDEN
This page took
0.03009 seconds
and
4
git commands to generate.