annotate TaskManager/kernel/ppe/Threads.h @ 824:3468641f22d7

Thread.h fix?
author yutaka@localhost.localdomain
date Mon, 24 May 2010 23:51:40 +0900
parents 19c6cdeb23d6
children bed529c55eda
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
817
4e8fc627ed33 add CpuThreads.cc
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
1 #ifndef INCLUDED_THREADS
4e8fc627ed33 add CpuThreads.cc
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
2 #define INCLUDED_THREADS
4e8fc627ed33 add CpuThreads.cc
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
3
4e8fc627ed33 add CpuThreads.cc
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
4 #include <pthread.h>
4e8fc627ed33 add CpuThreads.cc
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
5
4e8fc627ed33 add CpuThreads.cc
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
6
4e8fc627ed33 add CpuThreads.cc
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
7 class Threads {
4e8fc627ed33 add CpuThreads.cc
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
8 public:
4e8fc627ed33 add CpuThreads.cc
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
9 /* constructor */
824
3468641f22d7 Thread.h fix?
yutaka@localhost.localdomain
parents: 818
diff changeset
10 Threads(int num = 1) {};
3468641f22d7 Thread.h fix?
yutaka@localhost.localdomain
parents: 818
diff changeset
11 virtual ~Threads() {};
817
4e8fc627ed33 add CpuThreads.cc
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
12
4e8fc627ed33 add CpuThreads.cc
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
13 /* functions */
4e8fc627ed33 add CpuThreads.cc
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
14 virtual void init() = 0;
4e8fc627ed33 add CpuThreads.cc
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
15 virtual int get_mail(int speid, int count, memaddr *ret) = 0; // BLOCKING
4e8fc627ed33 add CpuThreads.cc
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
16 virtual int has_mail(int speid, int count, memaddr *ret) = 0; // NONBLOCK
4e8fc627ed33 add CpuThreads.cc
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
17 virtual void send_mail(int speid, int num, memaddr *data) = 0; // BLOCKING
4e8fc627ed33 add CpuThreads.cc
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
18
4e8fc627ed33 add CpuThreads.cc
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
19 /* variables */
4e8fc627ed33 add CpuThreads.cc
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
20 pthread_t *threads;
4e8fc627ed33 add CpuThreads.cc
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
21 int cpu_num;
4e8fc627ed33 add CpuThreads.cc
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
22 };
4e8fc627ed33 add CpuThreads.cc
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
23
4e8fc627ed33 add CpuThreads.cc
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
24 #endif