Mercurial > hg > Game > Cerium
annotate example/fileread/ppe/Read.cc @ 1864:7211816380bd draft
implement my_mmap in fileread
author | Masataka Kohagura <e085726@ie.u-ryukyu.ac.jp> |
---|---|
date | Tue, 24 Dec 2013 19:16:49 +0900 |
parents | 9e96c8c52574 |
children | 14225fec047c |
rev | line source |
---|---|
1721
797e3ec1ca74
add fileread only example
Masataka Kohagura <e085726@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1 #include <stdio.h> |
797e3ec1ca74
add fileread only example
Masataka Kohagura <e085726@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2 #include <string.h> |
797e3ec1ca74
add fileread only example
Masataka Kohagura <e085726@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
3 #include <unistd.h> |
797e3ec1ca74
add fileread only example
Masataka Kohagura <e085726@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
4 #include <sys/stat.h> |
797e3ec1ca74
add fileread only example
Masataka Kohagura <e085726@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
5 #include <iostream> |
797e3ec1ca74
add fileread only example
Masataka Kohagura <e085726@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
6 #include <vector> |
797e3ec1ca74
add fileread only example
Masataka Kohagura <e085726@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
7 #include <cstdlib> |
797e3ec1ca74
add fileread only example
Masataka Kohagura <e085726@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
8 |
797e3ec1ca74
add fileread only example
Masataka Kohagura <e085726@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
9 #include "SchedTask.h" |
797e3ec1ca74
add fileread only example
Masataka Kohagura <e085726@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
10 #include "Print.h" |
797e3ec1ca74
add fileread only example
Masataka Kohagura <e085726@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
11 #include "Func.h" |
797e3ec1ca74
add fileread only example
Masataka Kohagura <e085726@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
12 |
797e3ec1ca74
add fileread only example
Masataka Kohagura <e085726@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
13 /* これは必須 */ |
1824 | 14 SchedDefineTask1(Read_task,read_task); |
1721
797e3ec1ca74
add fileread only example
Masataka Kohagura <e085726@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
15 |
797e3ec1ca74
add fileread only example
Masataka Kohagura <e085726@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
16 static int |
1824 | 17 read_task(SchedTask *s, void *rbuf, void *wbuf) |
1740 | 18 { |
1808
c25aa7edd1ba
fix conditional branch in fileread
Masataka Kohagura <e085726@ie.u-ryukyu.ac.jp>
parents:
1802
diff
changeset
|
19 long task_number = (long)s->get_param(0); //何番目のtaskか |
c25aa7edd1ba
fix conditional branch in fileread
Masataka Kohagura <e085726@ie.u-ryukyu.ac.jp>
parents:
1802
diff
changeset
|
20 long division_size = (long)s->get_param(1); |
c25aa7edd1ba
fix conditional branch in fileread
Masataka Kohagura <e085726@ie.u-ryukyu.ac.jp>
parents:
1802
diff
changeset
|
21 long read_size = (long)s->get_param(2); |
1840
0305732326ca
change *fd to fd & change set_inData to set_param
Masataka Kohagura <e085726@ie.u-ryukyu.ac.jp>
parents:
1824
diff
changeset
|
22 long fd = (long)s->get_param(3); |
1740 | 23 |
1808
c25aa7edd1ba
fix conditional branch in fileread
Masataka Kohagura <e085726@ie.u-ryukyu.ac.jp>
parents:
1802
diff
changeset
|
24 char text[(long)read_size]; |
1861
9e96c8c52574
some fix in fileread
Masataka Kohagura <e085726@ie.u-ryukyu.ac.jp>
parents:
1840
diff
changeset
|
25 text[(long)read_size] = '\0'; |
1721
797e3ec1ca74
add fileread only example
Masataka Kohagura <e085726@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
26 |
1840
0305732326ca
change *fd to fd & change set_inData to set_param
Masataka Kohagura <e085726@ie.u-ryukyu.ac.jp>
parents:
1824
diff
changeset
|
27 pread(fd, text, (long)read_size , division_size*task_number); |
1861
9e96c8c52574
some fix in fileread
Masataka Kohagura <e085726@ie.u-ryukyu.ac.jp>
parents:
1840
diff
changeset
|
28 |
1864
7211816380bd
implement my_mmap in fileread
Masataka Kohagura <e085726@ie.u-ryukyu.ac.jp>
parents:
1861
diff
changeset
|
29 //s->printf("[start task No. %d]\n",task_number); |
7211816380bd
implement my_mmap in fileread
Masataka Kohagura <e085726@ie.u-ryukyu.ac.jp>
parents:
1861
diff
changeset
|
30 //s->printf("%s\n",text); |
7211816380bd
implement my_mmap in fileread
Masataka Kohagura <e085726@ie.u-ryukyu.ac.jp>
parents:
1861
diff
changeset
|
31 s->printf("in divide_read\n"); |
1721
797e3ec1ca74
add fileread only example
Masataka Kohagura <e085726@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
32 return 0; |
797e3ec1ca74
add fileread only example
Masataka Kohagura <e085726@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
33 } |