harmony-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Paulex Yang <paulex.y...@gmail.com>
Subject Re: [classlib][logging] A non bug difference from RI?
Date Fri, 01 Sep 2006 06:53:18 GMT
Stepan Mishura wrote:
> Andrew, thanks for the test. But working test doesn't mean that there 
> is no
> bug :-)
>
> AFAIK in our case an operation on file (if file is not exist  - create 
> file)
> should be atomic. And it looks like Harmony implementation doesn't do in
> atomic way.(see FileHandler.initOutputFiles() method)
Seems there is a bug in the FileHandler.initOutputFiles(), in Ln. 232, 
if the FileLock isn't held, the FileOutputStream should be closed before 
continue.

<code>
                lock = channel.tryLock();
                if (null == lock) {
                   //the FileChannel(or FileOutputStream) should be 
closed here
                    continue;
                }
</code>

But I didn't catch up what's the "atomic" means here, do you mean the 
tryLock() is not atomic or sth.? If so, any other solutions for Java 
codes? Otherwise, I think current implementation is fine, if two process 
try to open same log file at same time, only one process can get the 
lock by tryLock(), and the other will close the FileOutputStream then 
continue to try another log file name, anything I missed?
>
> Thanks,
> Stepan.
>


-- 
Paulex Yang
China Software Development Lab
IBM



---------------------------------------------------------------------
Terms of use : http://incubator.apache.org/harmony/mailing.html
To unsubscribe, e-mail: harmony-dev-unsubscribe@incubator.apache.org
For additional commands, e-mail: harmony-dev-help@incubator.apache.org


Mime
View raw message