Re: [PATCH] Honour CPNIO_DSYNC flag if set.

Guillermo Rodriguez Garcia <[email protected]> Thu, 29 Jan 2015 09:45:56 +0100
Newsgroups gmane.comp.java.classpath.devel
Message-ID <CABDcavZqj5d99m0Mby7OHmD5ydjNPkrYEXXyHYXAskBMzSXnzw@mail.gmail.com>
--047d7bdc07a23f876e050dc6844a
Content-Type: text/plain; charset=UTF-8

Hello. Any feedback?


2015-01-20 14:10 GMT+01:00 grodriguez <[email protected]>:

> The CPNIO_DSYNC flag was being ignored (only CPNIO_SYNC was honoured).
> This was breaking at least RandomFileAccess when open in "rwd" mode
> ("rws" would work as expected).
>
> ---
>  native/jni/java-nio/gnu_java_nio_VMChannel.c |    3 ++-
>  1 files changed, 2 insertions(+), 1 deletions(-)
>
> diff --git a/native/jni/java-nio/gnu_java_nio_VMChannel.c
> b/native/jni/java-nio/gnu_java_nio_VMChannel.c
> index 7899f0b..6a1cf48 100644
> --- a/native/jni/java-nio/gnu_java_nio_VMChannel.c
> +++ b/native/jni/java-nio/gnu_java_nio_VMChannel.c
> @@ -1705,7 +1705,8 @@ Java_gnu_java_nio_VMChannel_open (JNIEnv *env,
>             | ((mode & CPNIO_APPEND) ? O_APPEND :
>                ((nmode == O_WRONLY) ? O_TRUNC : 0))
>             | ((mode & CPNIO_EXCL) ? O_EXCL : 0)
> -           | ((mode & CPNIO_SYNC) ? O_SYNC : 0));
> +           | ((mode & CPNIO_SYNC) ? O_SYNC : 0)
> +           | ((mode & CPNIO_DSYNC) ? O_DSYNC : 0));
>
>    npath = JCL_jstring_to_cstring (env, path);
>
> --
> 1.7.0.4
>
>


-- 
Guillermo Rodriguez Garcia
[email protected]

--047d7bdc07a23f876e050dc6844a
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr">Hello. Any feedback?<div><br></div></div><div class=3D"gma=
il_extra"><br><div class=3D"gmail_quote">2015-01-20 14:10 GMT+01:00 grodrig=
uez <span dir=3D"ltr">&lt;<a href=3D"mailto:[email protected]" tar=
get=3D"_blank">[email protected]</a>&gt;</span>:<br><blockquote cl=
ass=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1px #ccc solid;p=
adding-left:1ex">The CPNIO_DSYNC flag was being ignored (only CPNIO_SYNC wa=
s honoured).<br>
This was breaking at least RandomFileAccess when open in &quot;rwd&quot; mo=
de<br>
(&quot;rws&quot; would work as expected).<br>
<br>
---<br>
=C2=A0native/jni/java-nio/gnu_java_nio_VMChannel.c |=C2=A0 =C2=A0 3 ++-<br>
=C2=A01 files changed, 2 insertions(+), 1 deletions(-)<br>
<br>
diff --git a/native/jni/java-nio/gnu_java_nio_VMChannel.c b/native/jni/java=
-nio/gnu_java_nio_VMChannel.c<br>
index 7899f0b..6a1cf48 100644<br>
--- a/native/jni/java-nio/gnu_java_nio_VMChannel.c<br>
+++ b/native/jni/java-nio/gnu_java_nio_VMChannel.c<br>
@@ -1705,7 +1705,8 @@ Java_gnu_java_nio_VMChannel_open (JNIEnv *env,<br>
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 | ((mode &amp; CPNIO_APPEND) ? O_=
APPEND :<br>
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0((nmode =3D=3D O_WRO=
NLY) ? O_TRUNC : 0))<br>
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 | ((mode &amp; CPNIO_EXCL) ? O_EX=
CL : 0)<br>
-=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0| ((mode &amp; CPNIO_SYNC) ? O_SY=
NC : 0));<br>
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0| ((mode &amp; CPNIO_SYNC) ? O_SY=
NC : 0)<br>
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0| ((mode &amp; CPNIO_DSYNC) ? O_D=
SYNC : 0));<br>
<br>
=C2=A0 =C2=A0npath =3D JCL_jstring_to_cstring (env, path);<br>
<span class=3D"HOEnZb"><font color=3D"#888888"><br>
--<br>
1.7.0.4<br>
<br>
</font></span></blockquote></div><br><br clear=3D"all"><div><br></div>-- <b=
r><div class=3D"gmail_signature">Guillermo Rodriguez Garcia<br><a href=3D"m=
ailto:[email protected]">[email protected]</a></div>
</div>

--047d7bdc07a23f876e050dc6844a--