From ef050c9e232a0473f52f02dfbd84f8252fa888c5 Mon Sep 17 00:00:00 2001 From: Mohan Embar Date: Fri, 17 Oct 2003 18:44:42 +0000 Subject: [PATCH] win32.cc: (_Jv_pipe) Implemented. * win32.cc: (_Jv_pipe) Implemented. * gnu/java/nio/natPipeImpl.cc: (nativeInit) Use _Jv_pipe instead of ::pipe. * include/posix.h: (_Jv_pipe) New inline. * include/win32.h: (_Jv_pipe) New declaration. From-SVN: r72616 --- libjava/ChangeLog | 8 ++++++++ libjava/gnu/java/nio/natPipeImpl.cc | 2 +- libjava/include/posix.h | 7 +++++++ libjava/include/win32.h | 1 + libjava/win32.cc | 7 +++++++ 5 files changed, 24 insertions(+), 1 deletion(-) diff --git a/libjava/ChangeLog b/libjava/ChangeLog index d751c102c11..03d60bd49bf 100644 --- a/libjava/ChangeLog +++ b/libjava/ChangeLog @@ -1,3 +1,11 @@ +2003-10-17 Mohan Embar + + * win32.cc (_Jv_pipe): Implemented. + * gnu/java/nio/natPipeImpl.cc (nativeInit): Use + _Jv_pipe instead of ::pipe. + * include/posix.h (_Jv_pipe): New inline. + * include/win32.h (_Jv_pipe): New declaration. + 2003-10-17 Ralph Loader * java/lang/StringBuffer.java (getChars): Fix array index checks. diff --git a/libjava/gnu/java/nio/natPipeImpl.cc b/libjava/gnu/java/nio/natPipeImpl.cc index 522c24cc807..caae89cdd1a 100644 --- a/libjava/gnu/java/nio/natPipeImpl.cc +++ b/libjava/gnu/java/nio/natPipeImpl.cc @@ -26,7 +26,7 @@ gnu::java::nio::PipeImpl::nativeInit (::java::nio::channels::spi::SelectorProvid { int filedes [2]; - if (::pipe (filedes) < 0) + if (_Jv_pipe (filedes) < 0) throw new ::java::io::IOException (JvNewStringUTF (strerror (errno))); /* FIXME diff --git a/libjava/include/posix.h b/libjava/include/posix.h index 2c6054ec93c..c8cd5e25e28 100644 --- a/libjava/include/posix.h +++ b/libjava/include/posix.h @@ -178,4 +178,11 @@ _Jv_read(int s, void *buf, int len) #endif /* DISABLE_JAVA_NET */ +// Wraps ::pipe +static inline int +_Jv_pipe (int filedes[2]) +{ + return ::pipe (filedes); +} + #endif /* __JV_POSIX_H__ */ diff --git a/libjava/include/win32.h b/libjava/include/win32.h index 6da0eafaa9a..e169adf9b28 100644 --- a/libjava/include/win32.h +++ b/libjava/include/win32.h @@ -95,6 +95,7 @@ extern void _Jv_platform_initialize (void); extern void _Jv_platform_initProperties (java::util::Properties*); extern jlong _Jv_platform_gettimeofday (); extern int _Jv_select (int n, fd_set *, fd_set *, fd_set *, struct timeval *); +extern int _Jv_pipe (int filedes[2]); inline void _Jv_platform_close_on_exec (jint) diff --git a/libjava/win32.cc b/libjava/win32.cc index abe768ae5bd..e44b7b28729 100644 --- a/libjava/win32.cc +++ b/libjava/win32.cc @@ -12,6 +12,7 @@ details. */ #include #include #include +#include #include #include @@ -342,3 +343,9 @@ _Jv_select (int n, fd_set *readfds, fd_set *writefds, } return r; } + +int +_Jv_pipe (int filedes[2]) +{ + return _pipe (filedes, 4096, _O_BINARY); +} -- 2.30.2