Dear Andrew,

i've looked a little into "problem one", which looks very 
weird to me.
The seemingly same write() operation, which refuses to write to
the access.log in driver.c works fine when called directly 
in nslog.c.

My first suspicion was that write() does not work with size_t
in Windows (the msdn pages say the the length argument is
"unsigned int", while in the unix world specifies it as size_t),
but strange enough, the write operation in driver.c still 
returns the right
number of bytes written. However, a tell(fd) before and 
after the write()
operation reveals, that the write cursor is not moved. It seems
to me that size_t is unsigned 32 bit on win32 and win64 anyhow.

The change [1] fixes access.log writing for the time being, 
but it
will ignore async writing even if configured, but that's just an
optional feature for high traffic web-sites with much disk I/O.

You are much more experienced with windows development
than i am, so maybe you can find the real cause.

-g

[1] 
https://bitbucket.org/naviserver/naviserver/commits/4cb76f20a8464fde98ac3147c6184a90442a2808



On 03.11.14 04:27, Andrew Piskorski wrote:
> On Windows, I see two additional problems with logging:
>
> One, the access log file is opened and seems to get rolled/renamed
> properly, but it is always empty, zero bytes!  No content ever seems
> to make it into the access log file.
>


------------------------------------------------------------------------------
_______________________________________________
naviserver-devel mailing list
naviserver-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/naviserver-devel

Reply via email to