aboutsummaryrefslogtreecommitdiff
path: root/libjava
diff options
context:
space:
mode:
Diffstat (limited to 'libjava')
-rw-r--r--libjava/ChangeLog8
-rw-r--r--libjava/gnu/java/nio/natPipeImpl.cc2
-rw-r--r--libjava/include/posix.h7
-rw-r--r--libjava/include/win32.h1
-rw-r--r--libjava/win32.cc7
5 files changed, 24 insertions, 1 deletions
diff --git a/libjava/ChangeLog b/libjava/ChangeLog
index d751c10..03d60bd 100644
--- a/libjava/ChangeLog
+++ b/libjava/ChangeLog
@@ -1,3 +1,11 @@
+2003-10-17 Mohan Embar <gnustuff@thisiscool.com>
+
+ * 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 <rcl@ihug.co.nz>
* 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 522c24c..caae89c 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 2c6054e..c8cd5e2 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 6da0eaf..e169adf 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 abe768a..e44b7b2 100644
--- a/libjava/win32.cc
+++ b/libjava/win32.cc
@@ -12,6 +12,7 @@ details. */
#include <platform.h>
#include <sys/timeb.h>
#include <stdlib.h>
+#include <fcntl.h>
#include <java/lang/ArithmeticException.h>
#include <java/lang/UnsupportedOperationException.h>
@@ -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);
+}