From: Charles Manning Date: Thu, 13 Jan 2011 00:23:15 +0000 (+1300) Subject: Merge branch 'master' of ssh://www.aleph1.co.uk/home/aleph1/git/yaffs2 X-Git-Tag: linux-mainline-patchset-4~3 X-Git-Url: http://aleph1.co.uk/gitweb/?a=commitdiff_plain;h=511baf572f96c689043518d443086b8dd6751089;hp=46eb953ecab322d3385ccf84c75d969de8542317;p=yaffs2.git Merge branch 'master' of ssh://aleph1.co.uk/home/aleph1/git/yaffs2 --- diff --git a/direct/timothy_tests/threading/lib.c b/direct/timothy_tests/threading/lib.c index 6456958..55084a2 100644 --- a/direct/timothy_tests/threading/lib.c +++ b/direct/timothy_tests/threading/lib.c @@ -12,7 +12,7 @@ */ #include "lib.h" -static unsigned int *p_counter; +static volatile unsigned int *p_counter; static unsigned int numberOfThreads=5; unsigned int get_num_of_threads(void) @@ -37,6 +37,6 @@ void set_counter(int x, unsigned int value) void init_counter(unsigned int size_of_counter) { - p_counter=malloc(size_of_counter*sizeof(int)); + p_counter=malloc(size_of_counter*sizeof(unsigned int)); } diff --git a/direct/timothy_tests/threading/test_a.c b/direct/timothy_tests/threading/test_a.c index 391530c..5e1af54 100644 --- a/direct/timothy_tests/threading/test_a.c +++ b/direct/timothy_tests/threading/test_a.c @@ -26,7 +26,7 @@ void test_a(void *x) int pos; int n; int n1; - + struct yaffs_stat stat_buffer; char name[200]; char name1[200]; @@ -90,9 +90,133 @@ void test_a(void *x) yaffs_rmdir(name); return; } + op-=1; + if(op < 0){ + yaffs_rmdir(name); + return; + } + op -=1; + if(op < 0){ + if(bc->h[i]>= 0){ + yaffs_fsync(bc->h[i]); + return; + } + } + op -=1; + if(op < 0){ + if(bc->h[i]>= 0){ + yaffs_fdatasync(bc->h[i]); + return; + } + } + op -=1; + if(op < 0){ + if(bc->h[i]>= 0){ + yaffs_flush(bc->h[i]); + return; + } + } - bc->opMax = (start_op - op -1); - + op -=1; + if(op < 0){ + if((bc->h[i]>= 0) && (bc->h[i+1] < 0)){ + bc->h[i+1]=yaffs_dup(bc->h[i]); + return; + } + } + op -=1; + if(op < 0){ + if(bc->h[i]>= 0){ + yaffs_ftruncate(bc->h[i],n); + return; + } + } + + op -=1; + if(op < 0){ + if(bc->h[i]>= 0){ + yaffs_fstat(bc->h[i],&stat_buffer); + yaffs_fchmod(bc->h[i], n); + yaffs_fchmod(bc->h[i], ((S_IREAD|S_IWRITE)&(stat_buffer.st_mode))); + } + } + op -=1; + if(op < 0){ + if(bc->h[i]>= 0){ + yaffs_stat(name,&stat_buffer); + yaffs_chmod(name, n); + yaffs_chmod(name, ((S_IREAD|S_IWRITE)&(stat_buffer.st_mode))); + } + } + op -=1; + if(op < 0){ + if(bc->h[i]>= 0){ + yaffs_lstat(name,&stat_buffer); + } + } + op -=1; + if(op < 0){ + if(bc->h[i]>= 0){ + yaffs_read(bc->h[i],name,n); + return; + } + } + op -=1; + if(op < 0){ + if(bc->h[i]>= 0){ + yaffs_pread(bc->h[i],name,n,n1); + return; + } + } + op -=1; + if(op < 0){ + if(bc->h[i]>= 0){ + yaffs_write(bc->h[i],name,n); + return; + } + } + op -=1; + if(op < 0){ + if(bc->h[i]>= 0){ + yaffs_pwrite(bc->h[i],name,n,n1); + return; + } + } + op -=1; + if(op < 0){ + if(bc->h[i]>= 0){ + yaffs_truncate(name,n); + return; + } + } + op -=1; + if(op < 0){ + if(bc->h[i]>= 0){ + yaffs_access(name,n); + return; + } + } + op -=1; + if(op < 0){ + if(bc->h[i]>= 0){ + yaffs_symlink(name,name1); + return; + } + } + op -=1; + if(op < 0){ + if(bc->h[i]>= 0){ + yaffs_link(name,name1); + return; + } + } + op -=1; + if(op < 0){ + if(bc->h[i]>= 0){ + yaffs_unlink(name); + return; + } + } return; } diff --git a/direct/timothy_tests/threading/threading.c b/direct/timothy_tests/threading/threading.c index 4b65e38..d4f584b 100644 --- a/direct/timothy_tests/threading/threading.c +++ b/direct/timothy_tests/threading/threading.c @@ -74,6 +74,7 @@ int main(int argc, char *argv[]) printf("| %d ",get_counter(y)); } printf("\n"); + sleep(1); } }