Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(564)

Unified Diff: runtime/bin/platform_macos.cc

Issue 25465002: Always mark stdout as blocking when using 'print'. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 7 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: runtime/bin/platform_macos.cc
diff --git a/runtime/bin/platform_macos.cc b/runtime/bin/platform_macos.cc
index 0576c345df54453ffc17ec408c1672ddfc6407ed..5af6c5ac643c2fbdfa17b6706fa80bffa319aa32 100644
--- a/runtime/bin/platform_macos.cc
+++ b/runtime/bin/platform_macos.cc
@@ -12,6 +12,8 @@
#include <string.h> // NOLINT
#include <unistd.h> // NOLINT
+#include "bin/fdutils.h"
+
namespace dart {
namespace bin {
@@ -68,6 +70,18 @@ void Platform::FreeEnvironment(char** env, intptr_t count) {
delete[] env;
}
+
+void Platform::PrintBlocking(FILE* file, const char* format, ...) {
+ int fd = fileno(file);
+ FDUtils::SetBlocking(fd);
+ va_list args;
+ va_start(args, format);
+ vfprintf(file, format, args);
+ fflush(file);
+ va_end(args);
+ FDUtils::SetNonBlocking(fd);
+}
+
} // namespace bin
} // namespace dart

Powered by Google App Engine
This is Rietveld 408576698