Re: open - resource temporarily unavailable
<tomas <at> tuxteam.de> writes:
>
>
> On Fri, Jun 17, 2016 at 02:37:11PM +0000, Andrey wrote:
> > <tomas <at> tuxteam.de> writes:
> >
> > >
> > >
> > > On Fri, Jun 17, 2016 at 01:12:00PM +0000, Andrey wrote:
> > >
> > > [...]
> > open("tst.tst", O_WRONLY|O_CREAT|O_TRUNC, 0666) = 5
> > ...
> >
> > as it was expected - nothing miraculous
>
> OK. So it seems there's another path open() --> EWOULDBLOCK in the kernel.
> That would be a chance to read some kernel sources... I fear I must give
> up here. $DAYJOB and that
>
To be precise it was "resource temporarily unavailable".
I'll try to get a real errnum next time.
> [...]
> Sorry I wasn't clear: I was just talking about the errno -- we still
> haven't an idea how it comes about. The manpage is but an approximation
> to reality
>
checking correctness of libc isn't very promising :-)
> [...]
> > > - use the LD_PRELOAD trick [1] to install a little spy on open()
> > > and let the system running for a while like this (the last one
> > > depends on the ratio of how critical your system is and how
> > > corageous you are
>
> Note that this can be a pretty intrusive technique, depending on which
> programs you "bug" this way. Tread carefully
>
LD_PRELOAD for the whole system isn't really possible - only for particular
programs.
I'll begin with my programs.
There I can check the result of syscall (I need neither LD_PRELOAD nor
strace for them :)
It'll be only about libc but the problem may lay well beneath the libc.
all the best,
Andrey
Reply to: