aboutsummaryrefslogtreecommitdiff
path: root/src/apps/init/main.c
diff options
context:
space:
mode:
authorAlex Auvolat <alex.auvolat@ens.fr>2015-02-19 18:53:15 +0100
committerAlex Auvolat <alex.auvolat@ens.fr>2015-02-19 18:53:15 +0100
commit62e5a35940198f0f8fbabdf31c80455647420c4e (patch)
treed73846d90d0611125eb99b53e473f8bc76c7fa15 /src/apps/init/main.c
parent277b329c5609b8172ad0c142117edfa9a08279da (diff)
downloadkogata-62e5a35940198f0f8fbabdf31c80455647420c4e.tar.gz
kogata-62e5a35940198f0f8fbabdf31c80455647420c4e.zip
Several things :
- disambiguate syscall.h : kernel syscall.h moved to sct.h - fix btree_remove_v !! (munmap fucked up stuff before) - make nullfs's directory listing non-exclusive (it actually copies the listing on open() and readdir()'s from that copy)
Diffstat (limited to 'src/apps/init/main.c')
-rw-r--r--src/apps/init/main.c39
1 files changed, 21 insertions, 18 deletions
diff --git a/src/apps/init/main.c b/src/apps/init/main.c
index 02fd9df..af69e78 100644
--- a/src/apps/init/main.c
+++ b/src/apps/init/main.c
@@ -11,26 +11,28 @@ int main(int argc, char **argv) {
dbg_print_region_info();
- dbg_printf("Doing malloc test...\n");
- const int m = 200;
- uint16_t** ptr = malloc(m * sizeof(uint32_t));
- for (int i = 0; i < m; i++) {
- size_t s = 1 << ((i * 7) % 11 + 2);
- ptr[i] = (uint16_t*)malloc(s);
- ASSERT((size_t)ptr[i] >= 0x40000000 && (size_t)ptr[i] < 0xB0000000);
- *ptr[i] = ((i * 211) % 1024);
- }
- dbg_printf("Fully allocated.\n");
- dbg_print_region_info();
- for (int i = 0; i < m; i++) {
- for (int j = i; j < m; j++) {
- ASSERT(*ptr[j] == (j * 211) % 1024);
+ for (int iter = 0; iter < 4; iter++) {
+ dbg_printf("Doing malloc test #%d...\n", iter + 1);
+ const int m = 200;
+ uint16_t** ptr = malloc(m * sizeof(uint32_t));
+ for (int i = 0; i < m; i++) {
+ size_t s = 1 << ((i * 7) % 11 + 2);
+ ptr[i] = (uint16_t*)malloc(s);
+ ASSERT((size_t)ptr[i] >= 0x40000000 && (size_t)ptr[i] < 0xB0000000);
+ *ptr[i] = ((i * 211) % 1024);
}
- free(ptr[i]);
+ dbg_printf("Fully allocated.\n");
+ dbg_print_region_info();
+ for (int i = 0; i < m; i++) {
+ for (int j = i; j < m; j++) {
+ ASSERT(*ptr[j] == (j * 211) % 1024);
+ }
+ free(ptr[i]);
+ }
+ free(ptr);
+ dbg_printf("malloc test OK.\n");
+ dbg_print_region_info();
}
- free(ptr);
- dbg_printf("malloc test OK.\n");
- dbg_print_region_info();
fd_t f = open("dev:/", FM_READDIR);
dbg_printf("openned /: %d\n", f);
@@ -46,6 +48,7 @@ int main(int argc, char **argv) {
if (ff != 0) {
dbg_printf("ok, open as %d\n", ff);
char* cont = malloc(x.st.size + 1);
+ dbg_print_region_info();
read(ff, 0, x.st.size, cont);
cont[x.st.size] = 0;
dbg_printf(" %s\n", cont);