diff options
author | patacongo <patacongo@42af7a65-404d-4744-a932-0658087f49c3> | 2007-02-21 21:55:16 +0000 |
---|---|---|
committer | patacongo <patacongo@42af7a65-404d-4744-a932-0658087f49c3> | 2007-02-21 21:55:16 +0000 |
commit | efc2cf23a849f7be1d65c4cdd7767f88917c46a7 (patch) | |
tree | fbe3518a364d6b9d811e00f7201e082d50ead7e3 /nuttx/sched/mq_send.c | |
parent | 94e5b72f50f3096b83fe50c7b57324a08e318f29 (diff) | |
download | px4-nuttx-efc2cf23a849f7be1d65c4cdd7767f88917c46a7.tar.gz px4-nuttx-efc2cf23a849f7be1d65c4cdd7767f88917c46a7.tar.bz2 px4-nuttx-efc2cf23a849f7be1d65c4cdd7767f88917c46a7.zip |
Progress toward clean SDCC compilation
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@18 42af7a65-404d-4744-a932-0658087f49c3
Diffstat (limited to 'nuttx/sched/mq_send.c')
-rw-r--r-- | nuttx/sched/mq_send.c | 28 |
1 files changed, 18 insertions, 10 deletions
diff --git a/nuttx/sched/mq_send.c b/nuttx/sched/mq_send.c index 431d8613c..0a9a12515 100644 --- a/nuttx/sched/mq_send.c +++ b/nuttx/sched/mq_send.c @@ -94,8 +94,8 @@ mqmsg_t *mq_msgalloc(void) { - mqmsg_t *mqmsg; - uint32 saved_state; + mqmsg_t *mqmsg; + irqstate_t saved_state; /* If we were called from an interrupt handler, then try to * get the message from generally available list of messages. @@ -202,14 +202,14 @@ mqmsg_t *mq_msgalloc(void) int mq_send(mqd_t mqdes, const void *msg, size_t msglen, int prio) { - _TCB *rtcb; - _TCB *btcb; - msgq_t *msgq; - mqmsg_t *curr; - mqmsg_t *next; - mqmsg_t *prev; - uint32 saved_state; - int ret = ERROR; + _TCB *rtcb; + _TCB *btcb; + msgq_t *msgq; + mqmsg_t *curr; + mqmsg_t *next; + mqmsg_t *prev; + irqstate_t saved_state; + int ret = ERROR; /* Verify the input parameters */ @@ -343,7 +343,11 @@ int mq_send(mqd_t mqdes, const void *msg, size_t msglen, int prio) { /* Remove the message notification data from the message queue. */ +#ifdef CONFIG_CAN_PASS_STRUCTS union sigval value = msgq->ntvalue; +#else + void *sival_ptr = msgq->ntvalue.sival_ptr; +#endif int signo = msgq->ntsigno; int pid = msgq->ntpid; @@ -356,7 +360,11 @@ int mq_send(mqd_t mqdes, const void *msg, size_t msglen, int prio) /* Queue the signal -- What if this returns an error? */ +#ifdef CONFIG_CAN_PASS_STRUCTS sig_mqnotempty(pid, signo, value); +#else + sig_mqnotempty(pid, signo, sival_ptr); +#endif } /* Check if any tasks are waiting for the MQ not empty event. */ |