Hi!
> >> +static void cleanup(void)
> >> +{
> >> + TEST_CLEANUP;
> >> +
> >> + SAFE_CLOSE(cleanup, old_fd);
> >
> > Take care not to call cleanup() from within a cleanup()
> >
> > If the close() here will fail, the cleanup will be called, then the
> > close() will fail and the cleanup will be called... untill the end of
> > the stack and the test will eventually SegFault.
> >
> > Also if the SAFE_CREAT() in setup() will fail, the close() will fail
> > too, because the old_fd will be set to -1.
> >
> > I've fixed that this time and pushed (see diff bellow), thanks.
> >
> >
> > @@ -117,7 +117,8 @@ static void cleanup(void)
> > {
> > TEST_CLEANUP;
> >
> > - SAFE_CLOSE(cleanup, old_fd);
> > + if (old_fd > 0)
> > + SAFE_CLOSE(NULL, old_fd);
> >
> > tst_rmdir();
> > }
> >
>
> Hello,
>
> This test does not seem to compile on uClibc based systems
>
> I am getting this:
> dup3_02.c:53: error: 'O_CLOEXEC' undeclared here (not in a function)
Looking at fcntl.h in uClibc git the O_CLOEXEC is defined only on
__USE_GNU
Does adding
#define _GNU_SOURCE
before the includes help?
If not, your uClibc version does not yet support it and we will have to
add:
#ifndef O_CLOEXEC
# define O_CLOEXEC 02000000
#endif
To fix it.
--
Cyril Hrubis
[email protected]
------------------------------------------------------------------------------
Rapidly troubleshoot problems before they affect your business. Most IT
organizations don't have a clear picture of how application performance
affects their revenue. With AppDynamics, you get 100% visibility into your
Java,.NET, & PHP application. Start your 15-day FREE TRIAL of AppDynamics Pro!
http://pubads.g.doubleclick.net/gampad/clk?id=84349351&iu=/4140/ostg.clktrk
_______________________________________________
Ltp-list mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/ltp-list