Hi! > LTP employs FORK_OR_VFORK macro which is defined as: > > #ifdef UCLINUX > #define FORK_OR_VFORK vfork > #define MAP_PRIVATE_EXCEPT_UCLINUX 0 > #else > #define FORK_OR_VFORK fork > #define MAP_PRIVATE_EXCEPT_UCLINUX MAP_PRIVATE > #endif > > So, on UCLINUX it is a vfork call. > > But many testcases use this macro and try to use functions other than > exec() and _exit() inside a child. > Example - syscalls/setfsuid/setfsuid04.c. > And I suppose that because of that fact these testcases may fail on > UCLINUX (or behave unexpectedly). > > Is this situation left intentionally? Does somebody care about this > issue? Or we simply ignore it. > > I'm just curious. :)
Most of the testcases does vfork() then exec itself with some parameter in argv[] to create the child, which is correct and as close to fork() as uClinux can get. See self_exec() in lib/self_exec.c. There seems to be a few testcases that does just call FORK_OR_VFORK and use it in a way that violates the specs, these may work or may not, that depends on actual implementation of vfork in uClinux. I'm trying not to break any of uClinux code in LTP but as I have no uClinux hardware nor much interest in fixing it I'm not trying to fix it actively. -- Cyril Hrubis [email protected] ------------------------------------------------------------------------------ How ServiceNow helps IT people transform IT departments: 1. Consolidate legacy IT systems to a single system of record for IT 2. Standardize and globalize service processes across IT 3. Implement zero-touch automation to replace manual, redundant tasks http://pubads.g.doubleclick.net/gampad/clk?id=51271111&iu=/4140/ostg.clktrk _______________________________________________ Ltp-list mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/ltp-list
