Merge branch 'master' of oss:/var/local/git/avian into powerpc

This commit is contained in:
Joel Dice 2008-07-23 17:58:36 -06:00
commit 4299063be9
3 changed files with 20 additions and 5 deletions

View File

@ -95,8 +95,11 @@ init(JNIEnv* e, sockaddr_in* address, jstring hostString, jint port)
hostent* host = gethostbyname(chars);
e->ReleaseStringUTFChars(hostString, chars);
if (host == 0) {
// herror("init: gethostbyname");
#ifdef WIN32
throwIOException(e);
#else
throwIOException(e, hstrerror(h_errno));
#endif
return;
}
memset(address, 0, sizeof(sockaddr_in));
@ -236,7 +239,10 @@ makeSocket(JNIEnv* e, bool blocking = false)
#endif
int s = ::socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);
if (s < 0) { throwIOException(e); return s; }
if (s < 0) {
throwIOException(e);
return s;
}
if (not blocking) makeNonblocking(e, s);
@ -260,9 +266,11 @@ Java_java_nio_channels_ServerSocketChannel_natDoListen(JNIEnv *e,
{
int s = makeSocket(e);
if (s < 0) return s;
if (e->ExceptionOccurred()) return 0;
sockaddr_in address;
init(e, &address, host, port);
if (e->ExceptionOccurred()) return 0;
::doListen(e, s, &address);
return s;
@ -276,9 +284,11 @@ Java_java_nio_channels_SocketChannel_natDoConnect(JNIEnv *e,
jbooleanArray retVal)
{
int s = makeSocket(e);
if (e->ExceptionOccurred()) return 0;
sockaddr_in address;
init(e, &address, host, port);
if (e->ExceptionOccurred()) return 0;
jboolean connected = ::doConnect(e, s, &address);
e->SetBooleanArrayRegion(retVal, 0, 1, &connected);

View File

@ -0,0 +1,5 @@
package java.lang;
public @interface Override {
}

View File

@ -52,8 +52,8 @@ Thread**
fill(Thread* t, Thread* o, Thread** array)
{
if (t != o) *(array++) = t;
if (t->peer) fill(t->peer, o, array);
if (t->child) fill(t->child, o, array);
if (t->peer) array = fill(t->peer, o, array);
if (t->child) array = fill(t->child, o, array);
return array;
}