aboutsummaryrefslogtreecommitdiffstats
path: root/demos/ATSAMA5D2/RT-SAMA5D2-XPLAINED-NSEC/daemons
diff options
context:
space:
mode:
Diffstat (limited to 'demos/ATSAMA5D2/RT-SAMA5D2-XPLAINED-NSEC/daemons')
-rw-r--r--demos/ATSAMA5D2/RT-SAMA5D2-XPLAINED-NSEC/daemons/tssockskel.c13
-rw-r--r--demos/ATSAMA5D2/RT-SAMA5D2-XPLAINED-NSEC/daemons/tssockskel.h4
2 files changed, 11 insertions, 6 deletions
diff --git a/demos/ATSAMA5D2/RT-SAMA5D2-XPLAINED-NSEC/daemons/tssockskel.c b/demos/ATSAMA5D2/RT-SAMA5D2-XPLAINED-NSEC/daemons/tssockskel.c
index 8ca60ad59..8c0f45f83 100644
--- a/demos/ATSAMA5D2/RT-SAMA5D2-XPLAINED-NSEC/daemons/tssockskel.c
+++ b/demos/ATSAMA5D2/RT-SAMA5D2-XPLAINED-NSEC/daemons/tssockskel.c
@@ -41,7 +41,7 @@
/* Module local variables. */
/*===========================================================================*/
-static ts_service_t tsStubsService;
+static ts_service_t tsStubsService = NULL;
/*===========================================================================*/
/* Module local functions. */
@@ -159,6 +159,7 @@ static void l_recv(skel_req_t *skreqp) {
/* call the api exposed by the TCP/IP stack.*/
result = recv((int)skreqp->stub_op_p[0], mem, len,
(int)skreqp->stub_op_p[3]);
+ skreqp->stub_op_p[1] = (uint32_t)mem;
}
/* report the result and copy 'out' parameter mem.*/
@@ -254,16 +255,18 @@ static void l_bind(skel_req_t *skreqp) {
/*===========================================================================*/
/* Module exported functions. */
/*===========================================================================*/
-THD_WORKING_AREA(waTsSockSkelDaemon, 2048);
+THD_WORKING_AREA(waTsSockSkelDaemon0, 2048);
+THD_WORKING_AREA(waTsSockSkelDaemon1, 2048);
+THD_WORKING_AREA(waTsSockSkelDaemon2, 2048);
THD_FUNCTION(TsSockSkelDaemon, arg) {
- (void)arg;
event_listener_t el;
skel_req_t skel_req;
msg_t r;
- tsStubsService = (ts_service_t)tsInvokeServiceNoYield(TS_HND_DISCOVERY,
- (ts_params_area_t)"TsStubsService", sizeof "TsStubsService");
+ if (arg != NULL)
+ tsStubsService = (ts_service_t)tsInvokeServiceNoYield(TS_HND_DISCOVERY,
+ (ts_params_area_t)"TsStubsService", sizeof "TsStubsService");
chEvtRegisterMaskWithFlags(&stubsEventSource, &el, ALL_EVENTS, EVT_F_SOCK_NEW_OP);
for (;/* ever */;) {
chEvtWaitAny(ALL_EVENTS);
diff --git a/demos/ATSAMA5D2/RT-SAMA5D2-XPLAINED-NSEC/daemons/tssockskel.h b/demos/ATSAMA5D2/RT-SAMA5D2-XPLAINED-NSEC/daemons/tssockskel.h
index e7408f908..f0acb3a96 100644
--- a/demos/ATSAMA5D2/RT-SAMA5D2-XPLAINED-NSEC/daemons/tssockskel.h
+++ b/demos/ATSAMA5D2/RT-SAMA5D2-XPLAINED-NSEC/daemons/tssockskel.h
@@ -65,7 +65,9 @@
extern "C" {
#endif
THD_FUNCTION(TsSockSkelDaemon, tsstate);
- extern THD_WORKING_AREA(waTsSockSkelDaemon, 2048);
+ extern THD_WORKING_AREA(waTsSockSkelDaemon0, 2048);
+ extern THD_WORKING_AREA(waTsSockSkelDaemon1, 2048);
+ extern THD_WORKING_AREA(waTsSockSkelDaemon2, 2048);
#ifdef __cplusplus
}
#endif