diff options
author | Jonathan Aillet <jonathan.aillet@iot.bzh> | 2019-06-14 18:14:13 +0200 |
---|---|---|
committer | Jonathan Aillet <jonathan.aillet@iot.bzh> | 2019-06-18 11:34:58 +0200 |
commit | 24046bfdb0568077a074b503d58a343a06f4234a (patch) | |
tree | 54ecdea5d0768d3d354a2ddbda1e309d574bbd14 /src/4a-internals-hal/4a-internals-hal-cb.c | |
parent | 66f27bce6355cc7df978a9d7a6bc725542057a01 (diff) |
Refactoring 'streams data' linked list
Refactoring 'streams data' linked list code using liburcu.
BUG-AGL: SPEC-2329
Change-Id: Idf9367c015d73574d96d83c82a9e8f5b7588a45d
Signed-off-by: Jonathan Aillet <jonathan.aillet@iot.bzh>
Diffstat (limited to 'src/4a-internals-hal/4a-internals-hal-cb.c')
-rw-r--r-- | src/4a-internals-hal/4a-internals-hal-cb.c | 11 |
1 files changed, 4 insertions, 7 deletions
diff --git a/src/4a-internals-hal/4a-internals-hal-cb.c b/src/4a-internals-hal/4a-internals-hal-cb.c index 07bad11..199fc5a 100644 --- a/src/4a-internals-hal/4a-internals-hal-cb.c +++ b/src/4a-internals-hal/4a-internals-hal-cb.c @@ -1079,7 +1079,7 @@ void InternalHalInfo(afb_req_t request) } streamsArray = HalUtlGetJsonArrayForAllMixersData(apiHandle, - ¤tHalData->internalHalData->streamsData); + ¤tHalData->internalHalData->streamsDataListHead); if(! streamsArray) { afb_req_fail(request, "streams_data", "Didn't succeed to generate streams data array"); return; @@ -1214,10 +1214,9 @@ void InternalHalSubscribeUnsubscribe(afb_req_t request, enum SubscribeUnsubscrib subscriptionDoneNb++; } - currentStreamData = currentHalData->internalHalData->streamsData; - while(currentStreamData && - ! subscriptionFound) { - if(! strcasecmp(currentSubscriptionString, currentStreamData->verb)) { + cds_list_for_each_entry(currentStreamData, ¤tHalData->internalHalData->streamsDataListHead, node) { + if(! subscriptionFound && + ! strcasecmp(currentSubscriptionString, currentStreamData->verb)) { if(currentStreamData->event && subscribeUnsubscribeType == SUBSCRIPTION && afb_req_subscribe(request, currentStreamData->event)) { @@ -1241,8 +1240,6 @@ void InternalHalSubscribeUnsubscribe(afb_req_t request, enum SubscribeUnsubscrib subscriptionDoneNb++; break; } - - currentStreamData = currentStreamData->next; } searchIdx = 0; |