annotate src/synchronizedQueue/origin_cs.c @ 139:c13b07d15d86

fix
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Wed, 09 Nov 2016 10:13:31 +0900
parents 765ee56d68f1
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
78
765ee56d68f1 Add origin_cs to synchronizedQueue
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents:
diff changeset
1 #include <stdlib.h>
765ee56d68f1 Add origin_cs to synchronizedQueue
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents:
diff changeset
2 #include "synchronizedQueueContext.h"
765ee56d68f1 Add origin_cs to synchronizedQueue
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents:
diff changeset
3
765ee56d68f1 Add origin_cs to synchronizedQueue
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents:
diff changeset
4 __code meta(struct Context* context, enum Code next) {
765ee56d68f1 Add origin_cs to synchronizedQueue
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents:
diff changeset
5 goto (context->code[next])(context);
765ee56d68f1 Add origin_cs to synchronizedQueue
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents:
diff changeset
6 }
765ee56d68f1 Add origin_cs to synchronizedQueue
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents:
diff changeset
7
765ee56d68f1 Add origin_cs to synchronizedQueue
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents:
diff changeset
8 __code start_code(struct Context* context, enum Code next) {
765ee56d68f1 Add origin_cs to synchronizedQueue
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents:
diff changeset
9 goto meta(context, next);
765ee56d68f1 Add origin_cs to synchronizedQueue
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents:
diff changeset
10 }
765ee56d68f1 Add origin_cs to synchronizedQueue
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents:
diff changeset
11
765ee56d68f1 Add origin_cs to synchronizedQueue
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents:
diff changeset
12 __code exit_code(struct Context* context) {
765ee56d68f1 Add origin_cs to synchronizedQueue
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents:
diff changeset
13 free(context->code);
765ee56d68f1 Add origin_cs to synchronizedQueue
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents:
diff changeset
14 free(context->data);
765ee56d68f1 Add origin_cs to synchronizedQueue
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents:
diff changeset
15 free(context->heapStart);
765ee56d68f1 Add origin_cs to synchronizedQueue
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents:
diff changeset
16 goto exit(0);
765ee56d68f1 Add origin_cs to synchronizedQueue
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents:
diff changeset
17 }