<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