Skip to content

Commit

Permalink
iox-eclipse-iceoryx#751 Fix rpc c example and add user trigger in sig…
Browse files Browse the repository at this point in the history
…nal handler

Signed-off-by: Christian Eltzschig <christian.eltzschig@apex.ai>
  • Loading branch information
elfenpiff committed Jun 21, 2022
1 parent ca632d5 commit d1eccb9
Showing 1 changed file with 21 additions and 2 deletions.
23 changes: 21 additions & 2 deletions iceoryx_examples/request_response_in_c/client_c_waitset.c
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@
#include "iceoryx_binding_c/request_header.h"
#include "iceoryx_binding_c/response_header.h"
#include "iceoryx_binding_c/runtime.h"
#include "iceoryx_binding_c/user_trigger.h"
#include "iceoryx_binding_c/wait_set.h"
#include "request_and_response_c_types.h"
#include "sleep_for.h"
Expand All @@ -32,10 +33,14 @@
bool keepRunning = true;
const char APP_NAME[] = "iox-c-request-response-client-waitset";

iox_user_trigger_storage_t terminationTriggerStorage;
iox_user_trigger_t terminationTrigger;

void sigHandler(int signalValue)
{
(void)signalValue;
keepRunning = false;
iox_user_trigger_trigger(terminationTrigger);
}

int main()
Expand All @@ -62,6 +67,13 @@ int main()
printf("failed to attach client\n");
_exit(-1);
}

terminationTrigger = iox_user_trigger_init(&terminationTriggerStorage);
if (iox_ws_attach_user_trigger_event(waitset, terminationTrigger, 0, NULL) != WaitSetResult_SUCCESS)
{
printf("failed to attach termination trigger\n");
_exit(-1);
}
//! [create waitset and attach client]

while (keepRunning)
Expand Down Expand Up @@ -129,11 +141,18 @@ int main()
iox_client_release_response(client, response);
}
}
else if (iox_notification_info_does_originate_from_user_trigger(notificationArray[i], terminationTrigger))
{
break;
}
}
//! [process responses]

const uint32_t SLEEP_TIME_IN_MS = 950U;
sleep_for(SLEEP_TIME_IN_MS);
if (keepRunning)
{
const uint32_t SLEEP_TIME_IN_MS = 950U;
sleep_for(SLEEP_TIME_IN_MS);
}
}

//! [cleanup]
Expand Down

0 comments on commit d1eccb9

Please sign in to comment.