Browse Source

Windows: unbuffered stdout output

On Linux and OS X, we use line-buffered output for stdout.
Unfortunately, on Windows setvbuf with _IOLBF is ignored, instead
fully-buffered output is used, see
https://docs.microsoft.com/de-de/cpp/c-runtime-library/reference/setvbuf

So, we use unbuffered mode for stdout on Windows, as otherwise
long-running tasks can make it seem as if PRISM hangs.


git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@12011 bbc10eb1-c90d-0410-af57-cb519fbb1720
master
Joachim Klein 9 years ago
parent
commit
57018c5d29
  1. 4
      prism/src/prism/PrismNative.cc

4
prism/src/prism/PrismNative.cc

@ -197,7 +197,11 @@ JNIEXPORT jint JNICALL Java_prism_PrismNative_PN_1SetWorkingDirectory(JNIEnv *en
JNIEXPORT jlong __jlongpointer JNICALL Java_prism_PrismNative_PN_1GetStdout(JNIEnv *env, jclass cls)
{
#ifdef _WIN32
setvbuf(stdout, NULL, _IONBF, 0);
#else
setvbuf(stdout, NULL, _IOLBF, 1024);
#endif
return ptr_to_jlong(stdout);
}

Loading…
Cancel
Save