Fix demo code.
authorasterix <asterix@38d2e660-2303-0410-9eaa-f027e97ec537>
Fri, 9 Jan 2009 11:49:52 +0000 (11:49 +0000)
committerasterix <asterix@38d2e660-2303-0410-9eaa-f027e97ec537>
Fri, 9 Jan 2009 11:49:52 +0000 (11:49 +0000)
git-svn-id: https://src.develer.com/svnoss/bertos/trunk@2151 38d2e660-2303-0410-9eaa-f027e97ec537

bertos/kern/msg.h

index 0b6a556d3718c2e7e3e764e0d30eb3561f2e42dc..05bbd7ef18c174782f6f368b3c3f7e2f595179cc 100644 (file)
  *     } TestMsg;
  *
  *
+ *  static cpu_stack_t sender_stack[CONFIG_KERN_MINSTACKSIZE / sizeof(cpu_stack_t)];
+ *
  *     // A process that sends two messages and waits for replies.
  *     static void sender_proc(void)
  *     {
  *             TestMsg msg2;
  *             Msg *reply;
  *
- *             msg_initPort(&reply_port,
- *                     event_createSignal(proc_current(), SIGF_SINGLE);
+ *             msg_initPort(&test_reply_port,
+ *                     event_createSignal(proc_current(), SIG_SINGLE);
  *
  *             // Fill-in first message and send it out.
  *             msg1.x = 3;
  *             msg1.y = 2;
  *             msg1.msg.replyPort = &test_reply_port;
- *             msg_put(&test_port, &msg1);
+ *             msg_put(&test_port, &msg1.msg);
  *
  *             // Fill-in second message and send it out too.
  *             msg2.x = 5;
  *             msg2.y = 4;
  *             msg2.msg.replyPort = &test_reply_port;
- *             msg_put(&test_port, &msg1);
+ *             msg_put(&test_port, &msg2.msg);
  *
  *             // Wait for a reply...
  *             sig_wait(SIG_SINGLE);
  *
*             reply = (TestMsg *)msg_get(&test_reply_port);
       reply = containerof(msg_get(&test_reply_port), TestMsg, msg);
  *             ASSERT(reply != NULL);
  *             ASSERT(reply->result == 5);
  *
  *             // Get reply to second message.
- *             while (!(reply = (TestMsg *)msg_get(&test_reply_port))
+ *             while (!(reply = containerof(msg_get(&test_reply_port), TestMsg, msg)))
  *             {
  *                     // Not yet, be patient and wait some more.
  *                     sig_wait(SIG_SINGLE);
  *     static void receiver_proc(void)
  *     {
  *             msg_initPort(&test_port,
- *                     event_createSignal(proc_current(), SIGF_EXAMPLE);
+ *                     event_createSignal(proc_current(), SIG_EXAMPLE);
  *
- *             proc_new(sender_proc, (iptr_t)&test_port,
- *                     sender_stack, sizeof(sender_stack);
+ *             proc_new(sender_proc, NULL,sizeof(sender_stack), sender_stack);
  *
  *             for (;;)
  *             {
- *                     sigmask_t sigs = sig_wait(SIGF_EXAMPLE | more_signals);
+ *                     sigmask_t sigs = sig_wait(SIG_EXAMPLE | more_signals);
  *
- *                     if (sigs & SIGF_EXAMPLE)
+ *                     if (sigs & SIG_EXAMPLE)
  *                     {
  *                             TestMsg *emsg;
- *                             while (emsg = (TestMsg *)msg_get(&test_port)
+ *                             while((emsg = containerof(msg_get(&test_port), TestMsg, msg)))
  *                             {
  *                                     // Do something with the message
  *                                     emsg->result = emsg->x + emsg->y;
- *                                     msg_reply((Msg *)msg);
+ *                                     msg_reply(emsg->msg);
  *                             }
  *                     }
  *             }