Boost logo

Boost-Build :

From: Reece Dunn (msclrhd_at_[hidden])
Date: 2004-12-30 06:43:48

Vladimir Prus wrote:
> Hi Reece,
>> I have been getting the occasional exception in bjam.exe, so I have
>> switched to using a debug build. This has caught an exception in execnt.c:
>> [line]
>> [530] f = fopen( cmdtab[ slot ].tempfile, "w" );
>> [531] fputs( string, f ); // <== HERE
>> [532] fclose( f );
>> The VC++ IDE is reporting that f is 0.
> How/when does it happen? If we can prevent 'f' from being 0, it would be
> better than giving an error. What does "perror" print, for example?

f = 0
_doserrno = 5 (EIO)
errno = 13 (EACCES)

>From the MS documentation:

Permission denied. The file's permission setting does not allow the
specified access. This error signifies that an attempt was made to
access a file (or, in some cases, a directory) in a way that is
incompatible with the file's attributes.

For example, the error can occur when an attempt is made to read
from a file that is not open, to open an existing read-only file for
writing, or to open a directory instead of a file. Under MS-DOS
operating system versions 3.0 and later, EACCES may also indicate a
locking or sharing violation.

The error can also occur in an attempt to rename a file or
directory or to remove an existing directory.

Using strerror(errno):
EIO = Input/output error
EACCES = Permission denied



Boost-Build list run by bdawes at, david.abrahams at, gregod at, cpdaniel at, john at