From: Renaud L. <Ren...@ke...> - 2008-04-22 16:27:36
|
Le mardi 22 avril 2008, Sridhar Vinay a écrit : > > Is this patch really fixing the issue ? > > Since you get the pwd before the tst_tmpdir(), the pwd will be the same > > for all the tasks. So you will still create all the files in the same > > directory. > > As each instance of float_bessel runs tst_tmpdir(), a different > "/tmp/<dir>" is created for each instance and thus avoids parallel > 'float_bessel's from accessing another instance's data files. I've run many > concurrent instances of the testcase and they seem to run fine. Right, I read the code to fast. However, the last patch break the test. Since you do the tst_rmdir in the genbessel code, the tmp directory is only known by this binary, not by the calling float_bessel binary. So, float_bessel start in a directory A, then launch the genbessel binary which create a tmp dir and cd into it (A/tmp_dir). Then, it creates files in this directory. After file generation, genbessel remove the tmp directory using tst_rmdir and returns. Finally, the float_bessel binary, still running in directory A, don't find the data files. IMO, the right place to do the tst_tmpdir is probably the main.c file in testcases/misc/math/float. Then, you will probably need to lookup for generation binaries (genbessel, geny0, etc) in the ".." directory, or something like that. Regards. R. -- Renaud Lottiaux Kerlabs Bâtiment Germanium 80, avenue des buttes de Coësmes 35700 Rennes - France Phone : (+33|0)6 80 89 19 34 Fax : (+33|0)2 99 84 71 71 Email : Ren...@ke... Web : http://www.kerlabs.com/ |