<?xml version="1.0" encoding="UTF-8"?>
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://purl.org/rss/1.0/" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:syn="http://purl.org/rss/1.0/modules/syndication/" xmlns:admin="http://webns.net/mvcb/">
  <channel rdf:about="http://blog.gmane.org/gmane.comp.java.openjdk.distro-packaging.devel">
    <title>gmane.comp.java.openjdk.distro-packaging.devel</title>
    <link>http://blog.gmane.org/gmane.comp.java.openjdk.distro-packaging.devel</link>
    <description/>
    <syn:updatePeriod>hourly</syn:updatePeriod>
    <syn:updateFrequency>1</syn:updateFrequency>
    <syn:updateBase>1901-01-01T00:00+00:00</syn:updateBase>
    <items>
      <rdf:Seq>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.java.openjdk.distro-packaging.devel/3410"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.java.openjdk.distro-packaging.devel/3409"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.java.openjdk.distro-packaging.devel/3408"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.java.openjdk.distro-packaging.devel/3407"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.java.openjdk.distro-packaging.devel/3406"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.java.openjdk.distro-packaging.devel/3405"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.java.openjdk.distro-packaging.devel/3404"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.java.openjdk.distro-packaging.devel/3403"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.java.openjdk.distro-packaging.devel/3402"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.java.openjdk.distro-packaging.devel/3401"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.java.openjdk.distro-packaging.devel/3399"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.java.openjdk.distro-packaging.devel/3398"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.java.openjdk.distro-packaging.devel/3397"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.java.openjdk.distro-packaging.devel/3396"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.java.openjdk.distro-packaging.devel/3395"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.java.openjdk.distro-packaging.devel/3394"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.java.openjdk.distro-packaging.devel/3393"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.java.openjdk.distro-packaging.devel/3392"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.java.openjdk.distro-packaging.devel/3384"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.java.openjdk.distro-packaging.devel/3383"/>
      </rdf:Seq>
    </items>
    <image rdf:resource="http://gmane.org/img/gmane-25t.png"/>
    <textinput rdf:resource=""/>
  </channel>
  <image rdf:about="http://gmane.org/img/gmane-25t.png">
    <title>Gmane</title>
    <url>http://gmane.org/img/gmane-25t.png</url>
    <link>http://gmane.org</link>
  </image>
  <item rdf:about="http://comments.gmane.org/gmane.comp.java.openjdk.distro-packaging.devel/3410">
    <title>[Bug 206] New: Eclipse crashes</title>
    <link>http://comments.gmane.org/gmane.comp.java.openjdk.distro-packaging.devel/3410</link>
    <description>http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=206

           Summary: Eclipse crashes
           Product: IcedTea
           Version: unspecified
          Platform: PC
        OS/Version: Linux
            Status: NEW
          Severity: critical
          Priority: P2
         Component: IcedTea
        AssignedTo: unassigned-HMOWzH9t1bryS2n3IP37Vh1hho49/T1E&lt; at &gt;public.gmane.org
        ReportedBy: marc-bxwtJCnCYokwxDvX8JKL79BPR1lH4CV8&lt; at &gt;public.gmane.org


I guess I am suppose to report this here... I keep getting crashes in Eclipse
Version: 3.4.1
Build id: M20080911-1700

These crashes occur at an unpredictable moment, dunno if each crash is related. 

HUMP! Well I would have included the log file but this version of Bugzilla will
neither let me append it to this description (too long) nor does is have the
ability to attach a separate file to a report. If you want me to send it in,
then send me an email telling where... I will hang on to it for a month or so..

I have appended the first part of the log file...

Marc..

#
# An unexpected error has been detected by Java Runtime Environment:
#
#  SIGSEGV (0xb) at pc=0x00007fcd30fd5e1a, pid=12902, tid=1088575824
#
# Java VM: OpenJDK 64-Bit Server VM (1.6.0-b09 mixed mode linux-amd64)
# Problematic frame:
# V  [libjvm.so+0x200e1a]
#
# If you would like to submit a bug report, please visit:
#   http://icedtea.classpath.org/bugzilla
# The crash happened outside the Java Virtual Machine in native code.
# See problematic frame for where to report the bug.
#


</description>
    <dc:creator>bugzilla-daemon-HMOWzH9t1bryS2n3IP37Vh1hho49/T1E&lt; at &gt;public.gmane.org</dc:creator>
    <dc:date>2008-10-07T18:49:23</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.java.openjdk.distro-packaging.devel/3409">
    <title>changeset in /hg/pulseaudio: 2008-10-07 Omair Majid &lt;omajid&lt; at &gt;redh...</title>
    <link>http://comments.gmane.org/gmane.comp.java.openjdk.distro-packaging.devel/3409</link>
    <description>changeset c080309b8edd in /hg/pulseaudio
details: http://icedtea.classpath.org/hg/pulseaudio?cmd=changeset;node=c080309b8edd
description:
2008-10-07 Omair Majid &lt;omajid-H+wXaHxf7aLQT0dZR+AlfA&lt; at &gt;public.gmane.org&gt;

    * src/java/org/classpath/icedtea/pulseaudio/PulseAudioClip.java
    (writeFrames): Synchronized the call to notifyAll.
    * src/java/org/classpath/icedtea/pulseaudio/PulseAudioDataLine.java
    (addStreamListeners): Likewise.

diffstat:

2 files changed, 17 insertions(+), 23 deletions(-)
src/java/org/classpath/icedtea/pulseaudio/PulseAudioClip.java     |    4 -
src/java/org/classpath/icedtea/pulseaudio/PulseAudioDataLine.java |   36 +++-------

diffs (112 lines):

diff -r d7c213ee6717 -r c080309b8edd src/java/org/classpath/icedtea/pulseaudio/PulseAudioClip.java
--- a/src/java/org/classpath/icedtea/pulseaudio/PulseAudioClip.javaTue Oct 07 12:06:29 2008 -0400
+++ b/src/java/org/classpath/icedtea/pulseaudio/PulseAudioClip.javaTue Oct 07 14:08:22 2008 -0400
&lt; at &gt;&lt; at &gt; -125,7 +125,9 &lt; at &gt;&lt; at &gt; public class PulseAudioClip extends Puls
 WriteListener writeListener = new WriteListener() {
 &lt; at &gt;Override
 public void update() {
-eventLoop.threadLock.notifyAll();
+synchronized (eventLoop.threadLock) {
+eventLoop.threadLock.notifyAll();
+}
 }
 };
 
diff -r d7c213ee6717 -r c080309b8edd src/java/org/classpath/icedtea/pulseaudio/PulseAudioDataLine.java
--- a/src/java/org/classpath/icedtea/pulseaudio/PulseAudioDataLine.javaTue Oct 07 12:06:29 2008 -0400
+++ b/src/java/org/classpath/icedtea/pulseaudio/PulseAudioDataLine.javaTue Oct 07 14:08:22 2008 -0400
&lt; at &gt;&lt; at &gt; -58,9 +58,8 &lt; at &gt;&lt; at &gt; public abstract class PulseAudioDataLine
 // true between start() and stop()
 protected boolean isStarted = false;
 
-//true between a started and an underflow callback
+// true between a started and an underflow callback
 protected boolean dataWritten = false;
-
 
 // true if a stream has been paused
 // protected boolean isPaused = false;
&lt; at &gt;&lt; at &gt; -161,10 +160,9 &lt; at &gt;&lt; at &gt; public abstract class PulseAudioDataLine
 
 Stream.UnderflowListener stoppedListener = new Stream.UnderflowListener() {
 &lt; at &gt;Override
-
 public void update() {
 dataWritten = false;
-System.out.println("underflow");
+
 // always send a STOP event on an underflow (assumption:
 // an underflow can't happen while the stream is corked)
 fireLineEvent(new LineEvent(PulseAudioDataLine.this,
&lt; at &gt;&lt; at &gt; -176,10 +174,9 &lt; at &gt;&lt; at &gt; public abstract class PulseAudioDataLine
 Stream.PlaybackStartedListener startedListener = new Stream.PlaybackStartedListener() {
 &lt; at &gt;Override
 public void update() {
-System.out.println("started callback");
-
-//only send a START event in the beginning and following
-//an underflow
+
+// only send a START event in the beginning and following
+// an underflow
 if (!dataWritten) {
 fireLineEvent(new LineEvent(PulseAudioDataLine.this,
 LineEvent.Type.START, framesSinceOpen));
&lt; at &gt;&lt; at &gt; -196,8 +193,9 &lt; at &gt;&lt; at &gt; public abstract class PulseAudioDataLine
 
 &lt; at &gt;Override
 public void update() {
-// System.out.println("can write");
-eventLoop.threadLock.notifyAll();
+synchronized (eventLoop.threadLock) {
+eventLoop.threadLock.notifyAll();
+}
 }
 
 };
&lt; at &gt;&lt; at &gt; -207,8 +205,9 &lt; at &gt;&lt; at &gt; public abstract class PulseAudioDataLine
 
 &lt; at &gt;Override
 public void update() {
-
-eventLoop.threadLock.notifyAll();
+synchronized (eventLoop.threadLock) {
+eventLoop.threadLock.notifyAll();
+}
 }
 
 };
&lt; at &gt;&lt; at &gt; -314,10 +313,9 &lt; at &gt;&lt; at &gt; public abstract class PulseAudioDataLine
 
 if (isStarted) {
 return;
-
-}
-
-
+
+}
+
 Operation op;
 synchronized (eventLoop.threadLock) {
 op = stream.unCork();
&lt; at &gt;&lt; at &gt; -330,7 +328,6 &lt; at &gt;&lt; at &gt; public abstract class PulseAudioDataLine
 op.waitForCompletion();
 op.releaseReference();
 isStarted = true;
-
 
 }
 
&lt; at &gt;&lt; at &gt; -427,11 +424,6 &lt; at &gt;&lt; at &gt; public abstract class PulseAudioDataLine
 
 public void setName(String streamName) {
 if (isOpen) {
-/*
- * Note: setting the name of the stream after it's created wont
- * work. In fact, it sets the name of the application! This is a bug
- * in PulseAudio 0.9.12 but fixed in git.
- */
 
 Operation o;
 synchronized (eventLoop.threadLock) {

</description>
    <dc:creator>Omair Majid</dc:creator>
    <dc:date>2008-10-07T18:08:18</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.java.openjdk.distro-packaging.devel/3408">
    <title>changeset in /hg/pulseaudio: 2008-10-07 Omair Majid &lt;omajid&lt; at &gt;redh...</title>
    <link>http://comments.gmane.org/gmane.comp.java.openjdk.distro-packaging.devel/3408</link>
    <description>changeset e688b471726e in /hg/pulseaudio
details: http://icedtea.classpath.org/hg/pulseaudio?cmd=changeset;node=e688b471726e
description:
2008-10-07 Omair Majid &lt;omajid-H+wXaHxf7aLQT0dZR+AlfA&lt; at &gt;public.gmane.org&gt;

    * src/native/jni-common.h
    Grouped related functions together. Added sections in file. Added two
    constants ILLEGAL_STATE_EXCEPTION and ILLEGAL_ARGUMENT_EXCEPTION to make
    it easiser to throw exceptions.

    * src/native/org_classpath_icedtea_pulseaudio_Stream.c
    (Java_org_classpath_icedtea_pulseaudio_Stream_native_1pa_1stream_1read):
    Removed commented function.
    (drain_callback): Throw an exception instaed of an assert if the operation
    failed.
    (cork_callback): Likewise.
    (flush_callback): Likewise.
    (trigger_callback): Likewise.
    (set_name_callback): Likewise.
    (set_buffer_attr_callback): Likewise.
    (update_sample_rate_callback): Likewise

diffstat:

2 files changed, 100 insertions(+), 83 deletions(-)
src/native/jni-common.h                              |   27 ++-
src/native/org_classpath_icedtea_pulseaudio_Stream.c |  156 +++++++++---------

diffs (302 lines):

diff -r 6695cbc7fe43 -r e688b471726e src/native/jni-common.h
--- a/src/native/jni-common.hMon Oct 06 17:03:22 2008 -0400
+++ b/src/native/jni-common.hTue Oct 07 11:31:39 2008 -0400
&lt; at &gt;&lt; at &gt; -49,6 +49,21 &lt; at &gt;&lt; at &gt; typedef struct java_context_t {
 jobject obj;
 } java_context_t;
 
+/* Exception Handling */
+
+void throwByName(JNIEnv* const env, const char* const name,
+const char* const msg);
+
+#define ILLEGAL_ARGUMENT_EXCEPTION "java/lang/IllegalArgumentException"
+#define ILLEGAL_STATE_EXCEPTION "java/lang/IllegalStateException"
+
+/* Threading and Synchronization */
+
+jobject getLockObject(JNIEnv* env);
+void notifyWaitingOperations(JNIEnv* env);
+
+/* Storing and Loading Values */
+
 jint getJavaIntField(JNIEnv* env, jobject obj, char* fieldName);
 void setJavaIntField(JNIEnv* env, jobject obj, char* fieldName, jint value);
 
&lt; at &gt;&lt; at &gt; -59,13 +74,7 &lt; at &gt;&lt; at &gt; void setJavaByteArrayField(JNIEnv* env, 
 void setJavaByteArrayField(JNIEnv* env, jobject obj, char* name,
 jbyteArray array);
 
-void callJavaVoidMethod(JNIEnv* env, jobject obj, const char* method_name);
-
-void throwByName(JNIEnv* const env, const char* const name,
-const char* const msg);
-
-jobject getLockObject(JNIEnv* env);
-void notifyWaitingOperations(JNIEnv* env);
+/* Pointers and Java */
 
 void* getJavaPointer(JNIEnv* env, jobject obj, char* name);
 void setJavaPointer(JNIEnv* env, jobject obj, char*name, void* pointer_value);
&lt; at &gt;&lt; at &gt; -73,5 +82,9 &lt; at &gt;&lt; at &gt; void* convertJavaPointerToNative(JNIEnv*
 void* convertJavaPointerToNative(JNIEnv* env, jbyteArray pointer);
 jbyteArray convertNativePointerToJava(JNIEnv* env, void* pointer);
 
+/* Calling Java Functions */
+
+void callJavaVoidMethod(JNIEnv* env, jobject obj, const char* method_name);
+
 #endif
 
diff -r 6695cbc7fe43 -r e688b471726e src/native/org_classpath_icedtea_pulseaudio_Stream.c
--- a/src/native/org_classpath_icedtea_pulseaudio_Stream.cMon Oct 06 17:03:22 2008 -0400
+++ b/src/native/org_classpath_icedtea_pulseaudio_Stream.cTue Oct 07 11:31:39 2008 -0400
&lt; at &gt;&lt; at &gt; -401,15 +401,14 &lt; at &gt;&lt; at &gt; JNIEXPORT jint JNICALL Java_org_classpat
 jbyteArray volumePointer, jbyteArray sync_streamPointer) {
 
 pa_stream *sync_stream;
-        if(sync_streamPointer != NULL) {
-        sync_stream = convertJavaPointerToNative(env, sync_streamPointer);
-        printf("Master stream is %p\n", sync_stream);
-        } else {
-        sync_stream = NULL;
-        }
-
-pa_stream* stream = (pa_stream*) getJavaPointer(env, obj, STREAM_POINTER);
-
+if(sync_streamPointer != NULL) {
+sync_stream = convertJavaPointerToNative(env, sync_streamPointer);
+printf("Master stream is %p\n", sync_stream);
+} else {
+sync_stream = NULL;
+}
+
+pa_stream* stream = (pa_stream*) getJavaPointer(env, obj, STREAM_POINTER);
 
 pa_buffer_attr buffer_attr;
 
&lt; at &gt;&lt; at &gt; -436,8 +435,8 &lt; at &gt;&lt; at &gt; JNIEXPORT jint JNICALL Java_org_classpat
 }
 }
 /* Set flags to 0 to fix problem with draining before calling start, might need to
-be changed back to PA_STREAM_START_CORKED in the future, if we'll be able to implement
-synchronization*/ 
+ be changed back to PA_STREAM_START_CORKED in the future, if we'll be able to implement
+ synchronization*/
 int value = pa_stream_connect_playback(stream, dev, &amp;buffer_attr, 0, NULL, sync_stream);
 
 if (dev != NULL) {
&lt; at &gt;&lt; at &gt; -526,24 +525,6 &lt; at &gt;&lt; at &gt; JNIEXPORT jint JNICALL Java_org_classpat
 }
 
 /*
-JNIEXPORT jint JNICALL Java_org_classpath_icedtea_pulseaudio_Stream_native_1pa_1stream_1read
-(JNIEnv *env, jobject obj, jbyteArray array, jint length, jint offset) {
-pa_stream *stream = getJavaPointer(env, obj, STREAM_POINTER);
-assert(stream);
-const void *read_data = NULL;
-size_t read_length = 0;
-pa_stream_peek(stream, &amp;read_data, &amp;read_length);
-if (length &lt; read_length) {
-read_length = length;
-}
-
-(*env)-&gt;SetByteArrayRegion(env, array, offset, read_length, read_data);
-pa_stream_drop(stream);
-return read_length;
-}
-*/
-
-/*
  * Class:     org_classpath_icedtea_pulseaudio_Stream
  * Method:    native_pa_stream_peek
  * Signature: ()[B
&lt; at &gt;&lt; at &gt; -564,7 +545,7 &lt; at &gt;&lt; at &gt; JNIEXPORT jbyteArray JNICALL Java_org_cl
 if (startLocation == NULL) {
 return NULL;
 }
-
+
 jsize length = count;
 jbyteArray data = (*env)-&gt;NewByteArray(env, length);
 
&lt; at &gt;&lt; at &gt; -616,48 +597,56 &lt; at &gt;&lt; at &gt; JNIEXPORT jint JNICALL Java_org_classpat
 
 static void drain_callback(pa_stream* stream, int success, void* userdata) {
 
-assert(success);
+assert(stream);
+JNIEnv* env = pulse_thread_env;
+assert(env);
+
+notifyWaitingOperations(env);
+
+if (success == 0) {
+throwByName(env, ILLEGA_STATE_EXCEPTION, "drain failed");
+}
+
+}
+
+/*
+ * Class:     org_classpath_icedtea_pulseaudio_Stream
+ * Method:    native_pa_stream_drain
+ * Signature: ()[B
+ */
+JNIEXPORT jbyteArray JNICALL Java_org_classpath_icedtea_pulseaudio_Stream_native_1pa_1stream_1drain
+(JNIEnv* env, jobject obj) {
+pa_stream* stream = (pa_stream*)getJavaPointer(env, obj, STREAM_POINTER);
+assert(stream);
+pa_operation* operation = pa_stream_drain(stream, drain_callback, NULL);
+assert(operation);
+return convertNativePointerToJava(env, operation);
+}
+
+/*
+ * Class:     org_classpath_icedtea_pulseaudio_Stream
+ * Method:    native_pa_stream_is_corked
+ * Signature: ()I
+ */
+JNIEXPORT jint JNICALL Java_org_classpath_icedtea_pulseaudio_Stream_native_1pa_1stream_1is_1corked
+(JNIEnv* env, jobject obj) {
+pa_stream* stream = (pa_stream*) getJavaPointer(env, obj, STREAM_POINTER);
+assert(stream);
+return pa_stream_is_corked(stream);
+}
+
+static void cork_callback(pa_stream* stream, int success, void* userdata) {
+
+java_context* context = userdata;
+assert(stream);
+assert(context);
 JNIEnv* env = pulse_thread_env;
 assert(env);
 notifyWaitingOperations(env);
 
-}
-
-/*
- * Class:     org_classpath_icedtea_pulseaudio_Stream
- * Method:    native_pa_stream_drain
- * Signature: ()[B
- */
-JNIEXPORT jbyteArray JNICALL Java_org_classpath_icedtea_pulseaudio_Stream_native_1pa_1stream_1drain
-(JNIEnv* env, jobject obj) {
-pa_stream* stream = (pa_stream*)getJavaPointer(env, obj, STREAM_POINTER);
-assert(stream);
-pa_operation* operation = pa_stream_drain(stream, drain_callback, NULL);
-assert(operation);
-return convertNativePointerToJava(env, operation);
-}
-
-/*
- * Class:     org_classpath_icedtea_pulseaudio_Stream
- * Method:    native_pa_stream_is_corked
- * Signature: ()I
- */
-JNIEXPORT jint JNICALL Java_org_classpath_icedtea_pulseaudio_Stream_native_1pa_1stream_1is_1corked
-(JNIEnv* env, jobject obj) {
-pa_stream* stream = (pa_stream*) getJavaPointer(env, obj, STREAM_POINTER);
-assert(stream);
-return pa_stream_is_corked(stream);
-}
-
-static void cork_callback(pa_stream* stream, int success, void* userdata) {
-
-java_context* context = userdata;
-assert(stream);
-assert(context);
-assert(success);
-JNIEnv* env = pulse_thread_env;
-assert(env);
-notifyWaitingOperations(env);
+if (success == 0) {
+throwByName(env, ILLEGAL_STATE_EXCEPTION, "cork failed");
+}
 
 }
 
&lt; at &gt;&lt; at &gt; -680,11 +669,15 &lt; at &gt;&lt; at &gt; JNIEXPORT jbyteArray JNICALL Java_org_cl
 }
 
 static void flush_callback(pa_stream* stream, int success, void* userdata) {
-assert(success);
+assert(stream);
 JNIEnv* env = pulse_thread_env;
 assert(env);
 notifyWaitingOperations(env);
 
+if (success == 0) {
+throwByName(env, ILLEGAL_STATE_EXCEPTION, "flush failed");
+}
+
 }
 
 /*
&lt; at &gt;&lt; at &gt; -702,11 +695,15 &lt; at &gt;&lt; at &gt; JNIEXPORT jbyteArray JNICALL Java_org_cl
 }
 
 static void trigger_callback(pa_stream* stream, int success, void* userdata) {
-assert(success);
+assert(stream);
 JNIEnv* env = pulse_thread_env;
 assert(env);
 notifyWaitingOperations(env);
 
+if (success == 0) {
+throwByName(env, ILLEGAL_STATE_EXCEPTION, "trigger failed");
+}
+
 }
 
 /*
&lt; at &gt;&lt; at &gt; -724,10 +721,13 &lt; at &gt;&lt; at &gt; JNIEXPORT jbyteArray JNICALL Java_org_cl
 }
 
 static void set_name_callback(pa_stream* stream, int success, void* userdata) {
-assert(success);
+assert(stream);
 JNIEnv* env = pulse_thread_env;
 notifyWaitingOperations(env);
 
+if (success == 0) {
+throwByName(env, ILLEGAL_STATE_EXCEPTION, "set_name failed");
+}
 }
 
 /*
&lt; at &gt;&lt; at &gt; -856,14 +856,14 &lt; at &gt;&lt; at &gt; static void set_buffer_attr_callback(pa_
 static void set_buffer_attr_callback(pa_stream* stream, int success,
 void* userdata) {
 
-const pa_buffer_attr* buffer = pa_stream_get_buffer_attr(stream);
-assert(buffer);
-
-assert(success);
+assert(stream);
 JNIEnv* env = pulse_thread_env;
 assert(env);
 notifyWaitingOperations(env);
 
+if (success == 0) {
+throwByName(env, ILLEGAL_STATE_EXCEPTION, "set_buffer_attr failed");
+}
 }
 
 /*
&lt; at &gt;&lt; at &gt; -918,11 +918,15 &lt; at &gt;&lt; at &gt; JNIEXPORT jbyteArray JNICALL Java_org_cl
 
 static void update_sample_rate_callback(pa_stream* stream, int success,
 void* userdata) {
-assert(success);
+assert(stream);
 JNIEnv* env = pulse_thread_env;
 assert(env);
 notifyWaitingOperations(env);
 
+if (success == 0) {
+throwByName(eng, ILLEGAL_STATE_EXCEPTION, "update_sampl_rate failed");
+}
+
 }
 /*
  * Class:     org_classpath_icedtea_pulseaudio_Stream

</description>
    <dc:creator>Omair Majid</dc:creator>
    <dc:date>2008-10-07T16:06:26</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.java.openjdk.distro-packaging.devel/3407">
    <title>changeset in /hg/pulseaudio: 2008-10-07 Omair Majid &lt;omajid&lt; at &gt;redh...</title>
    <link>http://comments.gmane.org/gmane.comp.java.openjdk.distro-packaging.devel/3407</link>
    <description>changeset d7c213ee6717 in /hg/pulseaudio
details: http://icedtea.classpath.org/hg/pulseaudio?cmd=changeset;node=d7c213ee6717
description:
2008-10-07 Omair Majid &lt;omajid-H+wXaHxf7aLQT0dZR+AlfA&lt; at &gt;public.gmane.org&gt;

    * src/native/org_classpath_icedtea_pulseaudio_Stream.c
    (drain_callback): Fixed typo.
    (update_sample_rate_callback): Likewise.

diffstat:

1 file changed, 2 insertions(+), 2 deletions(-)
src/native/org_classpath_icedtea_pulseaudio_Stream.c |    4 ++--

diffs (21 lines):

diff -r e688b471726e -r d7c213ee6717 src/native/org_classpath_icedtea_pulseaudio_Stream.c
--- a/src/native/org_classpath_icedtea_pulseaudio_Stream.cTue Oct 07 11:31:39 2008 -0400
+++ b/src/native/org_classpath_icedtea_pulseaudio_Stream.cTue Oct 07 12:06:29 2008 -0400
&lt; at &gt;&lt; at &gt; -604,7 +604,7 &lt; at &gt;&lt; at &gt; static void drain_callback(pa_stream* st
 notifyWaitingOperations(env);
 
 if (success == 0) {
-throwByName(env, ILLEGA_STATE_EXCEPTION, "drain failed");
+throwByName(env, ILLEGAL_STATE_EXCEPTION, "drain failed");
 }
 
 }
&lt; at &gt;&lt; at &gt; -924,7 +924,7 &lt; at &gt;&lt; at &gt; static void update_sample_rate_callback(
 notifyWaitingOperations(env);
 
 if (success == 0) {
-throwByName(eng, ILLEGAL_STATE_EXCEPTION, "update_sampl_rate failed");
+throwByName(env, ILLEGAL_STATE_EXCEPTION, "update_sampl_rate failed");
 }
 
 }

</description>
    <dc:creator>Omair Majid</dc:creator>
    <dc:date>2008-10-07T16:06:26</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.java.openjdk.distro-packaging.devel/3406">
    <title>changeset in /hg/icedtea6: 2008-10-07  Gary Benson  &lt;gbenson&lt; at &gt;red...</title>
    <link>http://comments.gmane.org/gmane.comp.java.openjdk.distro-packaging.devel/3406</link>
    <description>changeset ab8aa9425fc4 in /hg/icedtea6
details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=ab8aa9425fc4
description:
2008-10-07  Gary Benson  &lt;gbenson-H+wXaHxf7aLQT0dZR+AlfA&lt; at &gt;public.gmane.org&gt;
    Andrew Haley  &lt;aph-H+wXaHxf7aLQT0dZR+AlfA&lt; at &gt;public.gmane.org&gt;

* ports/hotspot/src/share/vm/shark/sharkMonitor.hpp
(object): Add missing return statement.
(displaced_header): Likewise.

* ports/hotspot/build/linux/makefiles/shark.make:
Remove workaround for the above.

diffstat:

3 files changed, 12 insertions(+), 8 deletions(-)
ChangeLog                                         |   10 ++++++++++
ports/hotspot/build/linux/makefiles/shark.make    |    6 ------
ports/hotspot/src/share/vm/shark/sharkMonitor.hpp |    4 ++--

diffs (54 lines):

diff -r e4575e17609d -r ab8aa9425fc4 ChangeLog
--- a/ChangeLogTue Oct 07 14:11:49 2008 +0200
+++ b/ChangeLogTue Oct 07 11:16:16 2008 -0400
&lt; at &gt;&lt; at &gt; -1,3 +1,13 &lt; at &gt;&lt; at &gt; 2008-10-07  Matthias Klose  &lt;doko&lt; at &gt;ubuntu
+2008-10-07  Gary Benson  &lt;gbenson-H+wXaHxf7aLQT0dZR+AlfA&lt; at &gt;public.gmane.org&gt;
+    Andrew Haley  &lt;aph-H+wXaHxf7aLQT0dZR+AlfA&lt; at &gt;public.gmane.org&gt;
+
+* ports/hotspot/src/share/vm/shark/sharkMonitor.hpp
+(object): Add missing return statement.
+(displaced_header): Likewise.
+
+* ports/hotspot/build/linux/makefiles/shark.make:
+Remove workaround for the above.
+
 2008-10-07  Matthias Klose  &lt;doko-GeWIH/nMZzLQT0dZR+AlfA&lt; at &gt;public.gmane.org&gt;
 
 * Makefile.am: Don't rely on versioned cacao source directory.
diff -r e4575e17609d -r ab8aa9425fc4 ports/hotspot/build/linux/makefiles/shark.make
--- a/ports/hotspot/build/linux/makefiles/shark.makeTue Oct 07 14:11:49 2008 +0200
+++ b/ports/hotspot/build/linux/makefiles/shark.makeTue Oct 07 11:16:16 2008 -0400
&lt; at &gt;&lt; at &gt; -31,12 +31,6 &lt; at &gt;&lt; at &gt; VM_SUBDIR = server
 
 CFLAGS += -DSHARK
 
-# Something these files fail with GCC at higher optimization levels.
-# An llvm::Value ends up NULL, causing segfaults in LLVM when it is
-# used.  Observed with 4.1.2 20070925 (Red Hat 4.1.2-33) and 4.3.2.
-OPT_CFLAGS/sharkBlock.o = -O0
-OPT_CFLAGS/sharkMonitor.o = -O0
-
 # Something in this file fails with GCC at higher optimization levels.
 # The part of ciTypeFlow::StateVector::meet_exception() that fills in
 # local variables stops part way through leaving the rest set to T_TOP
diff -r e4575e17609d -r ab8aa9425fc4 ports/hotspot/src/share/vm/shark/sharkMonitor.hpp
--- a/ports/hotspot/src/share/vm/shark/sharkMonitor.hppTue Oct 07 14:11:49 2008 +0200
+++ b/ports/hotspot/src/share/vm/shark/sharkMonitor.hppTue Oct 07 11:16:16 2008 -0400
&lt; at &gt;&lt; at &gt; -67,7 +67,7 &lt; at &gt;&lt; at &gt; class SharkMonitor : public ResourceObj 
  public:
   llvm::Value* object() const
   {
-    builder()-&gt;CreateLoad(object_addr());
+    return builder()-&gt;CreateLoad(object_addr());
   }
   void set_object(llvm::Value* object) const
   {
&lt; at &gt;&lt; at &gt; -75,7 +75,7 &lt; at &gt;&lt; at &gt; class SharkMonitor : public ResourceObj 
   }
   llvm::Value* displaced_header() const
   {
-    builder()-&gt;CreateLoad(displaced_header_addr());
+    return builder()-&gt;CreateLoad(displaced_header_addr());
   }
   void set_displaced_header(llvm::Value* displaced_header) const
   {

</description>
    <dc:creator>Gary Benson</dc:creator>
    <dc:date>2008-10-07T15:16:21</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.java.openjdk.distro-packaging.devel/3405">
    <title>changeset in /hg/icedtea6: 2008-10-07  Matthias Klose  &lt;doko&lt; at &gt;ubu...</title>
    <link>http://comments.gmane.org/gmane.comp.java.openjdk.distro-packaging.devel/3405</link>
    <description>changeset e4575e17609d in /hg/icedtea6
details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=e4575e17609d
description:
2008-10-07  Matthias Klose  &lt;doko-GeWIH/nMZzLQT0dZR+AlfA&lt; at &gt;public.gmane.org&gt;

* Makefile.am: Don't rely on versioned cacao source directory.

diffstat:

2 files changed, 7 insertions(+), 1 deletion(-)
ChangeLog   |    4 ++++
Makefile.am |    4 +++-

diffs (32 lines):

diff -r d6c8840e4167 -r e4575e17609d ChangeLog
--- a/ChangeLogMon Oct 06 12:02:04 2008 +0200
+++ b/ChangeLogTue Oct 07 14:11:49 2008 +0200
&lt; at &gt;&lt; at &gt; -1,3 +1,7 &lt; at &gt;&lt; at &gt; 2008-10-06  Matthias Klose  &lt;doko&lt; at &gt;ubuntu
+2008-10-07  Matthias Klose  &lt;doko-GeWIH/nMZzLQT0dZR+AlfA&lt; at &gt;public.gmane.org&gt;
+
+* Makefile.am: Don't rely on versioned cacao source directory.
+
 2008-10-06  Matthias Klose  &lt;doko-GeWIH/nMZzLQT0dZR+AlfA&lt; at &gt;public.gmane.org&gt;
 
 * generated/sun/misc/Version.java: Regenerate for 6b12.
diff -r d6c8840e4167 -r e4575e17609d Makefile.am
--- a/Makefile.amMon Oct 06 12:02:04 2008 +0200
+++ b/Makefile.amTue Oct 07 14:11:49 2008 +0200
&lt; at &gt;&lt; at &gt; -533,6 +533,8 &lt; at &gt;&lt; at &gt; if !USE_SYSTEM_CACAO
 then \
   mkdir cacao ; \
   $(TAR) xf $(CACAO_SRC_ZIP) -C cacao ; \
+  dir=$$(basename cacao/cacao-*) ; \
+  ln -s $$dir cacao/cacao ; \
 fi
 endif
 endif
&lt; at &gt;&lt; at &gt; -1316,7 +1318,7 &lt; at &gt;&lt; at &gt; stamps/cacao.stamp: stamps/extract.stamp
 stamps/cacao.stamp: stamps/extract.stamp stamps/rt-class-files.stamp
 if WITH_CACAO
 if !USE_SYSTEM_CACAO
-cd cacao/cacao-$(CACAO_VERSION) &amp;&amp; \
+cd cacao/cacao &amp;&amp; \
 ./configure \
   --prefix=$(abs_top_builddir)/cacao/install \
   --with-java-runtime-library=openjdk \

</description>
    <dc:creator>doko-GeWIH/nMZzLQT0dZR+AlfA&lt; at &gt;public.gmane.org</dc:creator>
    <dc:date>2008-10-07T12:12:33</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.java.openjdk.distro-packaging.devel/3404">
    <title>changeset in /hg/pulseaudio: 2008-10-06 Omair Majid &lt;omajid&lt; at &gt;redh...</title>
    <link>http://comments.gmane.org/gmane.comp.java.openjdk.distro-packaging.devel/3404</link>
    <description>changeset 6695cbc7fe43 in /hg/pulseaudio
details: http://icedtea.classpath.org/hg/pulseaudio?cmd=changeset;node=6695cbc7fe43
description:
2008-10-06 Omair Majid &lt;omajid-H+wXaHxf7aLQT0dZR+AlfA&lt; at &gt;public.gmane.org&gt;

    * src/java/org/classpath/icedtea/pulseaudio/PulseAudioTargetDataLine.java
    (read): Continue reading if peek returns null.
    * src/native/org_classpath_icedtea_pulseaudio_Stream.c
    (Java_org_classpath_icedtea_pulseaudio_Stream_native_1pa_1stream_1peek):
    Return null if no data to read.

diffstat:

2 files changed, 7 insertions(+), 1 deletion(-)
src/java/org/classpath/icedtea/pulseaudio/PulseAudioTargetDataLine.java |    3 ++-
src/native/org_classpath_icedtea_pulseaudio_Stream.c                    |    5 +++++

diffs (32 lines):

diff -r fa7dd0d762f1 -r 6695cbc7fe43 src/java/org/classpath/icedtea/pulseaudio/PulseAudioTargetDataLine.java
--- a/src/java/org/classpath/icedtea/pulseaudio/PulseAudioTargetDataLine.javaMon Oct 06 15:36:55 2008 -0400
+++ b/src/java/org/classpath/icedtea/pulseaudio/PulseAudioTargetDataLine.javaMon Oct 06 17:03:22 2008 -0400
&lt; at &gt;&lt; at &gt; -219,11 +219,12 &lt; at &gt;&lt; at &gt; public class PulseAudioTargetDataLine ex
 
 /* read a fragment, and drop it from the server */
 currentFragment = stream.peek();
+
 stream.drop();
 if (currentFragment == null) {
 System.out
 .println("DEBUG: PulseAudioTargetDataLine:read(): error in stream.peek()");
-return sizeRead;
+continue;
 }
 
 bytesRead = Math.min(currentFragment.length,
diff -r fa7dd0d762f1 -r 6695cbc7fe43 src/native/org_classpath_icedtea_pulseaudio_Stream.c
--- a/src/native/org_classpath_icedtea_pulseaudio_Stream.cMon Oct 06 15:36:55 2008 -0400
+++ b/src/native/org_classpath_icedtea_pulseaudio_Stream.cMon Oct 06 17:03:22 2008 -0400
&lt; at &gt;&lt; at &gt; -560,6 +560,11 &lt; at &gt;&lt; at &gt; JNIEXPORT jbyteArray JNICALL Java_org_cl
 return NULL;
 }
 
+/* no data available */
+if (startLocation == NULL) {
+return NULL;
+}
+
 jsize length = count;
 jbyteArray data = (*env)-&gt;NewByteArray(env, length);
 

</description>
    <dc:creator>Omair Majid</dc:creator>
    <dc:date>2008-10-06T21:03:18</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.java.openjdk.distro-packaging.devel/3403">
    <title>changeset in /hg/pulseaudio: 2008-10-06 Omair Majid &lt;omajid&lt; at &gt;redh...</title>
    <link>http://comments.gmane.org/gmane.comp.java.openjdk.distro-packaging.devel/3403</link>
    <description>changeset 86fab9e2bc64 in /hg/pulseaudio
details: http://icedtea.classpath.org/hg/pulseaudio?cmd=changeset;node=86fab9e2bc64
description:
2008-10-06 Omair Majid &lt;omajid-H+wXaHxf7aLQT0dZR+AlfA&lt; at &gt;public.gmane.org&gt;

    * src/java/org/classpath/icedtea/pulseaudio/PulseAudioSourceDataLine.java
    New variables flushed and drained.
    (write): Synchronized on this.
    (flush): Set flushed to true.
    (drain): Set drained to true.

diffstat:

2 files changed, 61 insertions(+), 34 deletions(-)
src/java/org/classpath/icedtea/pulseaudio/PulseAudioSourceDataLine.java |   92 ++++++----
src/java/org/classpath/icedtea/pulseaudio/PulseAudioTargetDataLine.java |    3 

diffs (139 lines):

diff -r eb2d35a91b0d -r 86fab9e2bc64 src/java/org/classpath/icedtea/pulseaudio/PulseAudioSourceDataLine.java
--- a/src/java/org/classpath/icedtea/pulseaudio/PulseAudioSourceDataLine.javaMon Oct 06 11:31:34 2008 -0400
+++ b/src/java/org/classpath/icedtea/pulseaudio/PulseAudioSourceDataLine.javaMon Oct 06 15:30:33 2008 -0400
&lt; at &gt;&lt; at &gt; -51,6 +51,9 &lt; at &gt;&lt; at &gt; public class PulseAudioSourceDataLine ex
 private PulseAudioVolumeControl volumeControl;
 private boolean muted;
 private float volume;
+
+boolean flushed = false;
+boolean drained = false;
 
 public PulseAudioSourceDataLine(EventLoop eventLoop, AudioFormat[] formats,
 AudioFormat defaultFormat) {
&lt; at &gt;&lt; at &gt; -156,43 +159,56 &lt; at &gt;&lt; at &gt; public class PulseAudioSourceDataLine ex
 
 while (remainingLength != 0) {
 
-synchronized (eventLoop.threadLock) {
-
-do {
-availableSize = stream.getWritableSize();
-
-if (availableSize &lt; 0) {
-return sizeWritten;
+synchronized (this) {
+
+if (!isStarted  || !isOpen) {
+return sizeWritten;
+}
+
+if (flushed) {
+return sizeWritten;
+}
+
+
+synchronized (eventLoop.threadLock) {
+
+do {
+availableSize = stream.getWritableSize();
+
+if (availableSize &lt; 0) {
+return sizeWritten;
+}
+
+if (availableSize == 0) {
+try {
+eventLoop.threadLock.wait();
+} catch (InterruptedException e) {
+// ignore for now
+interrupted = true;
+}
+
+}
+
+} while (availableSize == 0);
+
+if (availableSize &gt; remainingLength) {
+availableSize = remainingLength;
 }
 
-if (availableSize == 0) {
-try {
-eventLoop.threadLock.wait();
-} catch (InterruptedException e) {
-// ignore for now
-interrupted = true;
-}
-
-}
-
-} while (availableSize == 0);
-
-if (availableSize &gt; remainingLength) {
-availableSize = remainingLength;
+// only write entire frames, so round down avialableSize to
+// a
+// multiple of frameSize
+availableSize = (availableSize / frameSize) * frameSize;
+
+/* write a little bit of the buffer */
+stream.write(data, position, availableSize);
+
+sizeWritten += availableSize;
+position += availableSize;
+remainingLength -= availableSize;
+
+framesSinceOpen += availableSize / frameSize;
 }
-
-// only write entire frames, so round down avialableSize to a
-// multiple of frameSize
-availableSize = (availableSize / frameSize) * frameSize;
-
-/* write a little bit of the buffer */
-stream.write(data, position, availableSize);
-
-sizeWritten += availableSize;
-position += availableSize;
-remainingLength -= availableSize;
-
-framesSinceOpen += availableSize / frameSize;
 }
 }
 
&lt; at &gt;&lt; at &gt; -248,6 +264,10 &lt; at &gt;&lt; at &gt; public class PulseAudioSourceDataLine ex
 
 operation.waitForCompletion();
 operation.releaseReference();
+
+synchronized (this) {
+drained = true;
+}
 
 }
 
&lt; at &gt;&lt; at &gt; -266,6 +286,10 &lt; at &gt;&lt; at &gt; public class PulseAudioSourceDataLine ex
 operation.waitForCompletion();
 operation.releaseReference();
 
+synchronized (this) {
+flushed= true;
+}
+
 }
 
 &lt; at &gt;Override
diff -r eb2d35a91b0d -r 86fab9e2bc64 src/java/org/classpath/icedtea/pulseaudio/PulseAudioTargetDataLine.java
--- a/src/java/org/classpath/icedtea/pulseaudio/PulseAudioTargetDataLine.javaMon Oct 06 11:31:34 2008 -0400
+++ b/src/java/org/classpath/icedtea/pulseaudio/PulseAudioTargetDataLine.javaMon Oct 06 15:30:33 2008 -0400
&lt; at &gt;&lt; at &gt; -151,6 +151,9 &lt; at &gt;&lt; at &gt; public class PulseAudioTargetDataLine ex
 /* bytes read on each iteration of loop */
 int bytesRead;
 
+flushed = false;
+drained = false;
+
 /*
  * to read, we first take stuff from the fragmentBuffer
  */

</description>
    <dc:creator>Omair Majid</dc:creator>
    <dc:date>2008-10-06T19:42:18</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.java.openjdk.distro-packaging.devel/3402">
    <title>changeset in /hg/pulseaudio: 2008-10-06 Omair Majid &lt;omajid&lt; at &gt;redh...</title>
    <link>http://comments.gmane.org/gmane.comp.java.openjdk.distro-packaging.devel/3402</link>
    <description>changeset fa7dd0d762f1 in /hg/pulseaudio
details: http://icedtea.classpath.org/hg/pulseaudio?cmd=changeset;node=fa7dd0d762f1
description:
2008-10-06 Omair Majid &lt;omajid-H+wXaHxf7aLQT0dZR+AlfA&lt; at &gt;public.gmane.org&gt;

    * src/java/org/classpath/icedtea/pulseaudio/PulseAudioSourceDataLine.java
    (open): Synchronized method.
    (native_setVolume): Synchronized native method on eventLoop.
    (setVolume): Synchronized method.
    (write): Set flushed to false on initialization, and false when handling
    the flush.
    (close): Synchronized method.

diffstat:

1 file changed, 20 insertions(+), 16 deletions(-)
src/java/org/classpath/icedtea/pulseaudio/PulseAudioSourceDataLine.java |   36 +++++-----

diffs (98 lines):

diff -r 86fab9e2bc64 -r fa7dd0d762f1 src/java/org/classpath/icedtea/pulseaudio/PulseAudioSourceDataLine.java
--- a/src/java/org/classpath/icedtea/pulseaudio/PulseAudioSourceDataLine.javaMon Oct 06 15:30:33 2008 -0400
+++ b/src/java/org/classpath/icedtea/pulseaudio/PulseAudioSourceDataLine.javaMon Oct 06 15:36:55 2008 -0400
&lt; at &gt;&lt; at &gt; -51,7 +51,7 &lt; at &gt;&lt; at &gt; public class PulseAudioSourceDataLine ex
 private PulseAudioVolumeControl volumeControl;
 private boolean muted;
 private float volume;
-
+
 boolean flushed = false;
 boolean drained = false;
 
&lt; at &gt;&lt; at &gt; -67,7 +67,7 &lt; at &gt;&lt; at &gt; public class PulseAudioSourceDataLine ex
 }
 
 &lt; at &gt;Override
-public void open(AudioFormat format, int bufferSize)
+synchronized public void open(AudioFormat format, int bufferSize)
 throws LineUnavailableException {
 
 super.open(format, bufferSize);
&lt; at &gt;&lt; at &gt; -88,7 +88,9 &lt; at &gt;&lt; at &gt; public class PulseAudioSourceDataLine ex
 }
 
 public byte[] native_setVolume(float value) {
-return stream.native_setVolume(value);
+synchronized (eventLoop.threadLock) {
+return stream.native_setVolume(value);
+}
 }
 
 public boolean isMuted() {
&lt; at &gt;&lt; at &gt; -103,7 +105,7 &lt; at &gt;&lt; at &gt; public class PulseAudioSourceDataLine ex
 return this.volume;
 }
 
-public void setVolume(float value) {
+synchronized public void setVolume(float value) {
 this.volume = value;
 
 }
&lt; at &gt;&lt; at &gt; -155,20 +157,22 &lt; at &gt;&lt; at &gt; public class PulseAudioSourceDataLine ex
 
 int sizeWritten = 0;
 
+flushed = false;
+
 boolean interrupted = false;
 
 while (remainingLength != 0) {
 
 synchronized (this) {
-
-if (!isStarted  || !isOpen) {
+
+if (!isStarted || !isOpen) {
 return sizeWritten;
 }
-
+
 if (flushed) {
+flushed = false;
 return sizeWritten;
 }
-
 
 synchronized (eventLoop.threadLock) {
 
&lt; at &gt;&lt; at &gt; -264,7 +268,7 &lt; at &gt;&lt; at &gt; public class PulseAudioSourceDataLine ex
 
 operation.waitForCompletion();
 operation.releaseReference();
-
+
 synchronized (this) {
 drained = true;
 }
&lt; at &gt;&lt; at &gt; -287,13 +291,13 &lt; at &gt;&lt; at &gt; public class PulseAudioSourceDataLine ex
 operation.releaseReference();
 
 synchronized (this) {
-flushed= true;
-}
-
-}
-
-&lt; at &gt;Override
-public void close() {
+flushed = true;
+}
+
+}
+
+&lt; at &gt;Override
+synchronized public void close() {
 if (!isOpen) {
 throw new IllegalStateException("not open so cant close");
 }

</description>
    <dc:creator>Omair Majid</dc:creator>
    <dc:date>2008-10-06T19:42:18</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.java.openjdk.distro-packaging.devel/3401">
    <title>changeset in /hg/pulseaudio: 2008-09-6 Omair Majid &lt;omajid&lt; at &gt;redha...</title>
    <link>http://comments.gmane.org/gmane.comp.java.openjdk.distro-packaging.devel/3401</link>
    <description>changeset eb2d35a91b0d in /hg/pulseaudio
details: http://icedtea.classpath.org/hg/pulseaudio?cmd=changeset;node=eb2d35a91b0d
description:
2008-09-6 Omair Majid &lt;omajid-H+wXaHxf7aLQT0dZR+AlfA&lt; at &gt;public.gmane.org&gt;

    * Got rid of unneeded imports.
    * Removed unused stuff from PulseAudioVolumeControl

diffstat:

6 files changed, 25 deletions(-)
src/java/org/classpath/icedtea/pulseaudio/EventLoop.java               |    1 
src/java/org/classpath/icedtea/pulseaudio/Operation.java               |    1 
src/java/org/classpath/icedtea/pulseaudio/PulseAudioSourcePort.java    |    2 -
src/java/org/classpath/icedtea/pulseaudio/PulseAudioTargetPort.java    |    2 -
src/java/org/classpath/icedtea/pulseaudio/PulseAudioVolumeControl.java |   18 ----------
src/java/org/classpath/icedtea/pulseaudio/Stream.java                  |    1 

diffs (94 lines):

diff -r a9057b218aa0 -r eb2d35a91b0d src/java/org/classpath/icedtea/pulseaudio/EventLoop.java
--- a/src/java/org/classpath/icedtea/pulseaudio/EventLoop.javaFri Oct 03 16:20:27 2008 -0400
+++ b/src/java/org/classpath/icedtea/pulseaudio/EventLoop.javaMon Oct 06 11:31:34 2008 -0400
&lt; at &gt;&lt; at &gt; -37,7 +37,6 &lt; at &gt;&lt; at &gt; exception statement from your version.
 
 package org.classpath.icedtea.pulseaudio;
 
-import java.io.IOException;
 import java.util.ArrayList;
 import java.util.List;
 import java.util.concurrent.Semaphore;
diff -r a9057b218aa0 -r eb2d35a91b0d src/java/org/classpath/icedtea/pulseaudio/Operation.java
--- a/src/java/org/classpath/icedtea/pulseaudio/Operation.javaFri Oct 03 16:20:27 2008 -0400
+++ b/src/java/org/classpath/icedtea/pulseaudio/Operation.javaMon Oct 06 11:31:34 2008 -0400
&lt; at &gt;&lt; at &gt; -37,7 +37,6 &lt; at &gt;&lt; at &gt; exception statement from your version.
 
 package org.classpath.icedtea.pulseaudio;
 
-import java.io.IOException;
 
 /*
  * Encapsulates a pa_operation object
diff -r a9057b218aa0 -r eb2d35a91b0d src/java/org/classpath/icedtea/pulseaudio/PulseAudioSourcePort.java
--- a/src/java/org/classpath/icedtea/pulseaudio/PulseAudioSourcePort.javaFri Oct 03 16:20:27 2008 -0400
+++ b/src/java/org/classpath/icedtea/pulseaudio/PulseAudioSourcePort.javaMon Oct 06 11:31:34 2008 -0400
&lt; at &gt;&lt; at &gt; -37,8 +37,6 &lt; at &gt;&lt; at &gt; exception statement from your version.
 
 package org.classpath.icedtea.pulseaudio;
 
-import java.io.IOException;
-
 import javax.sound.sampled.Port;
 
 public class PulseAudioSourcePort extends PulseAudioPort {
diff -r a9057b218aa0 -r eb2d35a91b0d src/java/org/classpath/icedtea/pulseaudio/PulseAudioTargetPort.java
--- a/src/java/org/classpath/icedtea/pulseaudio/PulseAudioTargetPort.javaFri Oct 03 16:20:27 2008 -0400
+++ b/src/java/org/classpath/icedtea/pulseaudio/PulseAudioTargetPort.javaMon Oct 06 11:31:34 2008 -0400
&lt; at &gt;&lt; at &gt; -37,8 +37,6 &lt; at &gt;&lt; at &gt; exception statement from your version.
 
 package org.classpath.icedtea.pulseaudio;
 
-import java.io.IOException;
-
 import javax.sound.sampled.Port;
 
 public class PulseAudioTargetPort extends PulseAudioPort {
diff -r a9057b218aa0 -r eb2d35a91b0d src/java/org/classpath/icedtea/pulseaudio/PulseAudioVolumeControl.java
--- a/src/java/org/classpath/icedtea/pulseaudio/PulseAudioVolumeControl.javaFri Oct 03 16:20:27 2008 -0400
+++ b/src/java/org/classpath/icedtea/pulseaudio/PulseAudioVolumeControl.javaMon Oct 06 11:31:34 2008 -0400
&lt; at &gt;&lt; at &gt; -37,8 +37,6 &lt; at &gt;&lt; at &gt; exception statement from your version.
 
 package org.classpath.icedtea.pulseaudio;
 
-import java.io.IOException;
-
 import javax.sound.sampled.FloatControl;
 
 class PulseAudioVolumeControl extends FloatControl {
&lt; at &gt;&lt; at &gt; -55,24 +53,8 &lt; at &gt;&lt; at &gt; class PulseAudioVolumeControl extends Fl
 this.eventLoop = eventLoop;
 }
 
-&lt; at &gt;SuppressWarnings("unused")
-private byte[] streamPointer;
-
 private EventLoop eventLoop;
 private PulseAudioPlaybackLine line;
-
-static {
-try {
-String library = new java.io.File(".").getCanonicalPath()
-+ java.io.File.separatorChar
-+ System.mapLibraryName("pulse-java");
-// System.out.println(PulseAudioVolumeControl.class.getCanonicalName()
-// + ": " + library);
-System.load(library);
-} catch (IOException e) {
-assert ("Loading failed".endsWith("library"));
-}
-}
 
 public synchronized void setValue(float newValue) {
 if (newValue &gt; MAX_VOLUME || newValue &lt; MIN_VOLUME) {
diff -r a9057b218aa0 -r eb2d35a91b0d src/java/org/classpath/icedtea/pulseaudio/Stream.java
--- a/src/java/org/classpath/icedtea/pulseaudio/Stream.javaFri Oct 03 16:20:27 2008 -0400
+++ b/src/java/org/classpath/icedtea/pulseaudio/Stream.javaMon Oct 06 11:31:34 2008 -0400
&lt; at &gt;&lt; at &gt; -37,7 +37,6 &lt; at &gt;&lt; at &gt; exception statement from your version.
 
 package org.classpath.icedtea.pulseaudio;
 
-import java.io.IOException;
 import java.util.LinkedList;
 import java.util.List;
 

</description>
    <dc:creator>Omair Majid</dc:creator>
    <dc:date>2008-10-06T15:31:33</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.java.openjdk.distro-packaging.devel/3399">
    <title>[Bug 203] Shark segfaults in DaCapo eclipse benchmark</title>
    <link>http://comments.gmane.org/gmane.comp.java.openjdk.distro-packaging.devel/3399</link>
    <description>http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=203


gbenson-H+wXaHxf7aLQT0dZR+AlfA&lt; at &gt;public.gmane.org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
         AssignedTo|unassigned-HMOWzH9t1bryS2n3IP37Vu1GAupnlqi7&lt; at &gt;public.gmane.org|gbenson-H+wXaHxf7aLQT0dZR+AlfA&lt; at &gt;public.gmane.org
                   |.org                        |




</description>
    <dc:creator>bugzilla-daemon-HMOWzH9t1bryS2n3IP37Vh1hho49/T1E&lt; at &gt;public.gmane.org</dc:creator>
    <dc:date>2008-10-06T10:18:47</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.java.openjdk.distro-packaging.devel/3398">
    <title>[Bug 203] New: Shark segfaults in DaCapo eclipse benchmark</title>
    <link>http://comments.gmane.org/gmane.comp.java.openjdk.distro-packaging.devel/3398</link>
    <description>http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=203

           Summary: Shark segfaults in DaCapo eclipse benchmark
           Product: IcedTea
           Version: unspecified
          Platform: PC
        OS/Version: Linux
            Status: NEW
          Severity: normal
          Priority: P2
         Component: IcedTea
        AssignedTo: unassigned-HMOWzH9t1bryS2n3IP37Vh1hho49/T1E&lt; at &gt;public.gmane.org
        ReportedBy: gbenson-H+wXaHxf7aLQT0dZR+AlfA&lt; at &gt;public.gmane.org


Shark fails to run the DaCapo eclipse benchmark, segfaulting after a while in
org.eclipse.jdt.internal.compiler.parser.AbstractCommentParser.readTokenSafely()I.
 It works fine if this method is excluded from being compiled, which suggests
it is a miscompilation of some sort.


</description>
    <dc:creator>bugzilla-daemon-HMOWzH9t1bryS2n3IP37Vh1hho49/T1E&lt; at &gt;public.gmane.org</dc:creator>
    <dc:date>2008-10-06T10:18:38</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.java.openjdk.distro-packaging.devel/3397">
    <title>changeset in /hg/icedtea6: 2008-10-06  Matthias Klose  &lt;doko&lt; at &gt;ubu...</title>
    <link>http://comments.gmane.org/gmane.comp.java.openjdk.distro-packaging.devel/3397</link>
    <description>changeset d6c8840e4167 in /hg/icedtea6
details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=d6c8840e4167
description:
2008-10-06  Matthias Klose  &lt;doko-GeWIH/nMZzLQT0dZR+AlfA&lt; at &gt;public.gmane.org&gt;

        * generated/sun/misc/Version.java: Regenerate for 6b12.
        * generated/sun/tools/jconsole/Version.java: Likewise.

diffstat:

3 files changed, 8 insertions(+), 3 deletions(-)
ChangeLog                                 |    5 +++++
generated/sun/misc/Version.java           |    4 ++--
generated/sun/tools/jconsole/Version.java |    2 +-

diffs (40 lines):

diff -r 76843a64878d -r d6c8840e4167 ChangeLog
--- a/ChangeLogMon Oct 06 11:59:41 2008 +0200
+++ b/ChangeLogMon Oct 06 12:02:04 2008 +0200
&lt; at &gt;&lt; at &gt; -1,3 +1,8 &lt; at &gt;&lt; at &gt; 2008-10-06  Matthias Klose  &lt;doko&lt; at &gt;ubuntu
+2008-10-06  Matthias Klose  &lt;doko-GeWIH/nMZzLQT0dZR+AlfA&lt; at &gt;public.gmane.org&gt;
+
+* generated/sun/misc/Version.java: Regenerate for 6b12.
+* generated/sun/tools/jconsole/Version.java: Likewise.
+
 2008-10-06  Matthias Klose  &lt;doko-GeWIH/nMZzLQT0dZR+AlfA&lt; at &gt;public.gmane.org&gt;
 
 * IcedTeaPlugin.cc (PLUGIN_MIME_DESC): Remove 1.7 specs.
diff -r 76843a64878d -r d6c8840e4167 generated/sun/misc/Version.java
--- a/generated/sun/misc/Version.javaMon Oct 06 11:59:41 2008 +0200
+++ b/generated/sun/misc/Version.javaMon Oct 06 12:02:04 2008 +0200
&lt; at &gt;&lt; at &gt; -36,10 +36,10 &lt; at &gt;&lt; at &gt; public class Version {
         "1.6.0_0";
 
     private static final String java_runtime_name =
-        "OpenJDK  Runtime Environment";
+        "OpenJDK Runtime Environment";
 
     private static final String java_runtime_version =
-        "1.6.0_0-b11";
+        "1.6.0_0-b12";
 
     static {
         init();
diff -r 76843a64878d -r d6c8840e4167 generated/sun/tools/jconsole/Version.java
--- a/generated/sun/tools/jconsole/Version.javaMon Oct 06 11:59:41 2008 +0200
+++ b/generated/sun/tools/jconsole/Version.javaMon Oct 06 12:02:04 2008 +0200
&lt; at &gt;&lt; at &gt; -29,7 +29,7 &lt; at &gt;&lt; at &gt; import java.io.PrintStream;
 
 public class Version {
     private static final String jconsole_version =
-        "1.6.0_0-b11";
+        "1.6.0_0-b12";
 
     public static void print(PrintStream ps) {
         printFullVersion(ps);

</description>
    <dc:creator>doko-GeWIH/nMZzLQT0dZR+AlfA&lt; at &gt;public.gmane.org</dc:creator>
    <dc:date>2008-10-06T10:02:47</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.java.openjdk.distro-packaging.devel/3396">
    <title>changeset in /hg/icedtea6: 2008-10-06  Matthias Klose  &lt;doko&lt; at &gt;ubu...</title>
    <link>http://comments.gmane.org/gmane.comp.java.openjdk.distro-packaging.devel/3396</link>
    <description>changeset 76843a64878d in /hg/icedtea6
details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=76843a64878d
description:
2008-10-06  Matthias Klose  &lt;doko-GeWIH/nMZzLQT0dZR+AlfA&lt; at &gt;public.gmane.org&gt;

        * IcedTeaPlugin.cc (PLUGIN_MIME_DESC): Remove 1.7 specs.

diffstat:

2 files changed, 6 insertions(+), 4 deletions(-)
ChangeLog        |    4 ++++
IcedTeaPlugin.cc |    6 ++----

diffs (34 lines):

diff -r 192176f52fb4 -r 76843a64878d ChangeLog
--- a/ChangeLogMon Oct 06 10:37:31 2008 +0200
+++ b/ChangeLogMon Oct 06 11:59:41 2008 +0200
&lt; at &gt;&lt; at &gt; -1,3 +1,7 &lt; at &gt;&lt; at &gt; 2008-10-05  Matthias Klose  &lt;doko&lt; at &gt;ubuntu
+2008-10-06  Matthias Klose  &lt;doko-GeWIH/nMZzLQT0dZR+AlfA&lt; at &gt;public.gmane.org&gt;
+
+* IcedTeaPlugin.cc (PLUGIN_MIME_DESC): Remove 1.7 specs.
+
 2008-10-05  Matthias Klose  &lt;doko-GeWIH/nMZzLQT0dZR+AlfA&lt; at &gt;public.gmane.org&gt;
 
 * Makefile.am (distclean-local): Remove IcedTeaPlugin object file.
diff -r 192176f52fb4 -r 76843a64878d IcedTeaPlugin.cc
--- a/IcedTeaPlugin.ccMon Oct 06 10:37:31 2008 +0200
+++ b/IcedTeaPlugin.ccMon Oct 06 11:59:41 2008 +0200
&lt; at &gt;&lt; at &gt; -215,8 +215,7 &lt; at &gt;&lt; at &gt; private:
   "application/x-java-applet;version=1.4.2:class,jar:IcedTea;"         \
   "application/x-java-applet;version=1.5:class,jar:IcedTea;"           \
   "application/x-java-applet;version=1.6:class,jar:IcedTea;"           \
-  "application/x-java-applet;version=1.7:class,jar:IcedTea;"           \
-  "application/x-java-applet;jpi-version=1.7.0_00:class,jar:IcedTea;"  \
+  "application/x-java-applet;jpi-version=1.6.0_00:class,jar:IcedTea;"  \
   "application/x-java-bean:class,jar:IcedTea;"                         \
   "application/x-java-bean;version=1.1:class,jar:IcedTea;"             \
   "application/x-java-bean;version=1.1.1:class,jar:IcedTea;"           \
&lt; at &gt;&lt; at &gt; -232,8 +231,7 &lt; at &gt;&lt; at &gt; private:
   "application/x-java-bean;version=1.4.2:class,jar:IcedTea;"           \
   "application/x-java-bean;version=1.5:class,jar:IcedTea;"             \
   "application/x-java-bean;version=1.6:class,jar:IcedTea;"             \
-  "application/x-java-bean;version=1.7:class,jar:IcedTea;"             \
-  "application/x-java-bean;jpi-version=1.7.0_00:class,jar:IcedTea;"
+  "application/x-java-bean;jpi-version=1.6.0_00:class,jar:IcedTea;"
 
 #define FAILURE_MESSAGE "IcedTeaPluginFactory error: Failed to run %s." \
   "  For more detail rerun \"firefox -g\" in a terminal window."

</description>
    <dc:creator>doko-GeWIH/nMZzLQT0dZR+AlfA&lt; at &gt;public.gmane.org</dc:creator>
    <dc:date>2008-10-06T10:00:26</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.java.openjdk.distro-packaging.devel/3395">
    <title>changeset in /hg/icedtea6: 2008-10-05  Matthias Klose  &lt;doko&lt; at &gt;ubu...</title>
    <link>http://comments.gmane.org/gmane.comp.java.openjdk.distro-packaging.devel/3395</link>
    <description>changeset 192176f52fb4 in /hg/icedtea6
details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=192176f52fb4
description:
2008-10-05  Matthias Klose  &lt;doko-GeWIH/nMZzLQT0dZR+AlfA&lt; at &gt;public.gmane.org&gt;

        * Makefile.am (distclean-local): Remove IcedTeaPlugin object file.

diffstat:

2 files changed, 5 insertions(+), 1 deletion(-)
ChangeLog   |    4 ++++
Makefile.am |    2 +-

diffs (23 lines):

diff -r e0a13e4cc434 -r 192176f52fb4 ChangeLog
--- a/ChangeLogFri Oct 03 07:58:17 2008 -0400
+++ b/ChangeLogMon Oct 06 10:37:31 2008 +0200
&lt; at &gt;&lt; at &gt; -1,3 +1,7 &lt; at &gt;&lt; at &gt; 2008-10-03  Gary Benson  &lt;gbenson&lt; at &gt;redhat
+2008-10-05  Matthias Klose  &lt;doko-GeWIH/nMZzLQT0dZR+AlfA&lt; at &gt;public.gmane.org&gt;
+
+* Makefile.am (distclean-local): Remove IcedTeaPlugin object file.
+
 2008-10-03  Gary Benson  &lt;gbenson-H+wXaHxf7aLQT0dZR+AlfA&lt; at &gt;public.gmane.org&gt;
 
 * ports/hotspot/build/linux/makefiles/shark.make:
diff -r e0a13e4cc434 -r 192176f52fb4 Makefile.am
--- a/Makefile.amFri Oct 03 07:58:17 2008 -0400
+++ b/Makefile.amMon Oct 06 10:37:31 2008 +0200
&lt; at &gt;&lt; at &gt; -52,7 +52,7 &lt; at &gt;&lt; at &gt; distclean-local: clean-copy clean-jtreg 
 rm -rf hotspot-tools
 rm -rf rt/netscape
 if ENABLE_LIVECONNECT
-rm -f IcedTeaPlugin.so
+rm -f IcedTeaPlugin.o IcedTeaPlugin.so
 else
 if ENABLE_PLUGIN
 rm -f gcjwebplugin.so

</description>
    <dc:creator>doko-GeWIH/nMZzLQT0dZR+AlfA&lt; at &gt;public.gmane.org</dc:creator>
    <dc:date>2008-10-06T08:51:07</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.java.openjdk.distro-packaging.devel/3394">
    <title>changeset in /hg/pulseaudio: 2008-10-03 Ioana Ivan &lt;iivan&lt; at &gt;redhat...</title>
    <link>http://comments.gmane.org/gmane.comp.java.openjdk.distro-packaging.devel/3394</link>
    <description>changeset a9057b218aa0 in /hg/pulseaudio
details: http://icedtea.classpath.org/hg/pulseaudio?cmd=changeset;node=a9057b218aa0
description:
2008-10-03 Ioana Ivan &lt;iivan-H+wXaHxf7aLQT0dZR+AlfA&lt; at &gt;public.gmane.org&gt;
* src/java/org/classpath/icedtea/pulseaudio/EventLoop.java:
replaced call to System.load with call to System.loadLibrary
* src/java/org/classpath/icedtea/pulseaudio/Operation.java:
Likewise
* src/java/org/classpath/icedtea/pulseaudio/PulseAudioSourcePort.java:
Likewise
* src/java/org/classpath/icedtea/pulseaudio/PulseAudioTargetPort.java:
Likewise
* src/java/org/classpath/icedtea/pulseaudio/Stream.java
Likewise

* Makefile.am: removed
* build.xml: removed
* src/native/Makefile.am: removed

diffstat:

8 files changed, 5 insertions(+), 178 deletions(-)
Makefile.am                                                         |    6 
build.xml                                                           |   93 ----------
src/java/org/classpath/icedtea/pulseaudio/EventLoop.java            |   11 -
src/java/org/classpath/icedtea/pulseaudio/Operation.java            |   11 -
src/java/org/classpath/icedtea/pulseaudio/PulseAudioSourcePort.java |   11 -
src/java/org/classpath/icedtea/pulseaudio/PulseAudioTargetPort.java |   11 -
src/java/org/classpath/icedtea/pulseaudio/Stream.java               |   11 -
src/native/Makefile.am                                              |   29 ---

diffs (245 lines):

diff -r a6a5ca46e90e -r a9057b218aa0 Makefile.am
--- a/Makefile.amTue Sep 30 14:43:55 2008 -0400
+++ /dev/nullThu Jan 01 00:00:00 1970 +0000
&lt; at &gt;&lt; at &gt; -1,6 +0,0 &lt; at &gt;&lt; at &gt;
-SUBDIRS = src/native
-
-clean-local:
-ant clean ; \
-rm -f libpulse-java.so ; 
-
diff -r a6a5ca46e90e -r a9057b218aa0 build.xml
--- a/build.xmlTue Sep 30 14:43:55 2008 -0400
+++ /dev/nullThu Jan 01 00:00:00 1970 +0000
&lt; at &gt;&lt; at &gt; -1,93 +0,0 &lt; at &gt;&lt; at &gt;
-&lt;project default="all"&gt;
-
-&lt;property name="classdir" value="classes" /&gt;
-&lt;property name="sourcedir" value="src/java" /&gt;
-&lt;property name="headerdir" value="src/native" /&gt;
-&lt;property name="pulsejar" value="pulseaudio-java.jar" /&gt;
-
-&lt;target name="all" depends="compile,headers,jar"&gt;
-
-&lt;/target&gt;
-
-&lt;target name="clean"&gt;
-&lt;delete dir="${classdir}" /&gt;
-&lt;delete dir="${testclassdir}" /&gt;
-&lt;delete file="${pulsejar}" /&gt;
-&lt;!-- Only delete the generated header files --&gt;
-&lt;delete&gt;
-&lt;fileset dir="${headerdir}" includes="org_*.h" /&gt;
-&lt;/delete&gt;
-&lt;/target&gt;
-
-&lt;target name="init"&gt;
-&lt;mkdir dir="${classdir}" /&gt;
-&lt;mkdir dir="${testclassdir}" /&gt;
-&lt;/target&gt;
-
-&lt;target name="compile" depends="init"&gt;
-&lt;javac srcdir="${sourcedir}" destdir="${classdir}" /&gt;
-&lt;copy todir="${classdir}/META-INF"&gt;
-&lt;fileset dir="${sourcedir}/META-INF" /&gt;
-&lt;/copy&gt;
-
-&lt;/target&gt;
-
-&lt;target name="jar" depends="compile"&gt;
-&lt;jar destfile="${pulsejar}" basedir="${classdir}"&gt;
-&lt;/jar&gt;
-&lt;/target&gt;
-
-&lt;target name="headers" depends="compile"&gt;
-&lt;javah classpath="${classdir}" destdir="${headerdir}" verbose="no" force="yes"&gt;
-&lt;class name="org.classpath.icedtea.pulseaudio.EventLoop" /&gt;
-&lt;class name="org.classpath.icedtea.pulseaudio.Operation" /&gt;
-&lt;class name="org.classpath.icedtea.pulseaudio.Stream" /&gt;
-&lt;class name="org.classpath.icedtea.pulseaudio.PulseAudioSourcePort" /&gt;
-&lt;class name="org.classpath.icedtea.pulseaudio.PulseAudioTargetPort" /&gt;
-&lt;/javah&gt;
-&lt;/target&gt;
-
-&lt;!-- TESTS --&gt;
-&lt;property name="testclassdir" value="testclasses" /&gt;
-&lt;property name="testsourcedir" value="unittests" /&gt;
-
-&lt;property name="junitjar" value="/usr/share/java/junit4.jar" /&gt;
-
-&lt;target name="compile-tests" depends="init"&gt;
-&lt;javac srcdir="${testsourcedir}" destdir="${testclassdir}" classpath="${junitjar}:${pulsejar}" /&gt;
-&lt;/target&gt;
-
-&lt;target name="jar-tests" depends="compile-tests"&gt;
-&lt;jar destfile="PulseAudio-Tests.jar" basedir="${testclassdir}" /&gt;
-&lt;/target&gt;
-
-&lt;target name="test" depends="compile-tests,jar"&gt;
-&lt;junit printsummary="yes" haltonfailure="no" showoutput="yes" fork="yes"&gt;
-&lt;classpath&gt;
-&lt;pathelement location="${pulsejar}" /&gt;
-&lt;pathelement path="${junitjar}:${testclassdir}" /&gt;
-&lt;/classpath&gt;
-&lt;formatter type="plain" /&gt;
-
-&lt;test name="org.classpath.icedtea.pulseaudio.OtherSoundProvidersAvailableTest" /&gt;
-&lt;test name="org.classpath.icedtea.pulseaudio.PulseAudioMixerProviderTest" /&gt;
-
-&lt;test name="org.classpath.icedtea.pulseaudio.PulseAudioMixerTest" /&gt;
-&lt;test name="org.classpath.icedtea.pulseaudio.PulseAudioMixerRawTest" /&gt;
-
-&lt;test name="org.classpath.icedtea.pulseaudio.PulseAudioEventLoopOverhead" /&gt;
-
-&lt;test name="org.classpath.icedtea.pulseaudio.PulseAudioSourceDataLineTest" /&gt;
-&lt;test name="org.classpath.icedtea.pulseaudio.PulseAudioSourceDataLineRawTest" /&gt;
-
-&lt;test name="org.classpath.icedtea.pulseaudio.PulseAudioSourcePortTest" /&gt;
-
-&lt;test name="org.classpath.icedtea.pulseaudio.PulseAudioTargetDataLineTest" /&gt;
-&lt;test name="org.classpath.icedtea.pulseaudio.PulseAudioTargetPortTest" /&gt;
-
-&lt;test name="org.classpath.icedtea.pulseaudio.PulseAudioClipTest" /&gt;
-
-&lt;/junit&gt;
-&lt;/target&gt;
-&lt;/project&gt;
-
diff -r a6a5ca46e90e -r a9057b218aa0 src/java/org/classpath/icedtea/pulseaudio/EventLoop.java
--- a/src/java/org/classpath/icedtea/pulseaudio/EventLoop.javaTue Sep 30 14:43:55 2008 -0400
+++ b/src/java/org/classpath/icedtea/pulseaudio/EventLoop.javaFri Oct 03 16:20:27 2008 -0400
&lt; at &gt;&lt; at &gt; -106,16 +106,7 &lt; at &gt;&lt; at &gt; public class EventLoop implements Runnab
  */
 
 static {
-try {
-String library = new java.io.File(".").getCanonicalPath()
-+ java.io.File.separatorChar
-+ System.mapLibraryName("pulse-java");
-// System.out.println(EventLoop.class.getCanonicalName() + ": "
-//+ library);
-System.load(library);
-} catch (IOException e) {
-assert ("Loading failed".endsWith("library"));
-}
+System.loadLibrary("pulse-java");
 }
 
 private EventLoop() {
diff -r a6a5ca46e90e -r a9057b218aa0 src/java/org/classpath/icedtea/pulseaudio/Operation.java
--- a/src/java/org/classpath/icedtea/pulseaudio/Operation.javaTue Sep 30 14:43:55 2008 -0400
+++ b/src/java/org/classpath/icedtea/pulseaudio/Operation.javaFri Oct 03 16:20:27 2008 -0400
&lt; at &gt;&lt; at &gt; -59,16 +59,7 &lt; at &gt;&lt; at &gt; public class Operation {
 }
 
 static {
-try {
-String library = new java.io.File(".").getCanonicalPath()
-+ java.io.File.separatorChar
-+ System.mapLibraryName("pulse-java");
-// System.out.println(Operation.class.getCanonicalName() + ": "
-// + library);
-System.load(library);
-} catch (IOException e) {
-assert ("Loading failed".endsWith("library"));
-}
+System.loadLibrary("pulse-java");
 }
 
 private native void native_ref();
diff -r a6a5ca46e90e -r a9057b218aa0 src/java/org/classpath/icedtea/pulseaudio/PulseAudioSourcePort.java
--- a/src/java/org/classpath/icedtea/pulseaudio/PulseAudioSourcePort.javaTue Sep 30 14:43:55 2008 -0400
+++ b/src/java/org/classpath/icedtea/pulseaudio/PulseAudioSourcePort.javaFri Oct 03 16:20:27 2008 -0400
&lt; at &gt;&lt; at &gt; -44,16 +44,7 &lt; at &gt;&lt; at &gt; public class PulseAudioSourcePort extend
 public class PulseAudioSourcePort extends PulseAudioPort {
 
 static {
-try {
-String library = new java.io.File(".").getCanonicalPath()
-+ java.io.File.separatorChar
-+ System.mapLibraryName("pulse-java");
-// System.out.println(PulseAudioVolumeControl.class.getCanonicalName()
-// + ": " + library);
-System.load(library);
-} catch (IOException e) {
-assert ("Loading failed".endsWith("library"));
-}
+System.loadLibrary("pulse-java");
 }
 
 public PulseAudioSourcePort(String name, EventLoop eventLoop) {
diff -r a6a5ca46e90e -r a9057b218aa0 src/java/org/classpath/icedtea/pulseaudio/PulseAudioTargetPort.java
--- a/src/java/org/classpath/icedtea/pulseaudio/PulseAudioTargetPort.javaTue Sep 30 14:43:55 2008 -0400
+++ b/src/java/org/classpath/icedtea/pulseaudio/PulseAudioTargetPort.javaFri Oct 03 16:20:27 2008 -0400
&lt; at &gt;&lt; at &gt; -44,16 +44,7 &lt; at &gt;&lt; at &gt; public class PulseAudioTargetPort extend
 public class PulseAudioTargetPort extends PulseAudioPort {
 
 static {
-try {
-String library = new java.io.File(".").getCanonicalPath()
-+ java.io.File.separatorChar
-+ System.mapLibraryName("pulse-java");
-// System.out.println(PulseAudioVolumeControl.class.getCanonicalName()
-// + ": " + library);
-System.load(library);
-} catch (IOException e) {
-assert ("Loading failed".endsWith("library"));
-}
+System.loadLibrary("pulse-java");
 }
 
 public PulseAudioTargetPort(String name, EventLoop eventLoop) {
diff -r a6a5ca46e90e -r a9057b218aa0 src/java/org/classpath/icedtea/pulseaudio/Stream.java
--- a/src/java/org/classpath/icedtea/pulseaudio/Stream.javaTue Sep 30 14:43:55 2008 -0400
+++ b/src/java/org/classpath/icedtea/pulseaudio/Stream.javaFri Oct 03 16:20:27 2008 -0400
&lt; at &gt;&lt; at &gt; -105,16 +105,7 &lt; at &gt;&lt; at &gt; public class Stream {
 private byte[] streamPointer;
 
 static {
-try {
-String library = new java.io.File(".").getCanonicalPath()
-+ java.io.File.separatorChar
-+ System.mapLibraryName("pulse-java");
-// System.out
-// .println(Stream.class.getCanonicalName() + ": " + library);
-System.load(library);
-} catch (IOException e) {
-assert ("Loading failed".endsWith("library"));
-}
+System.loadLibrary("pulse-java");
 }
 
 private Format format;
diff -r a6a5ca46e90e -r a9057b218aa0 src/native/Makefile.am
--- a/src/native/Makefile.amTue Sep 30 14:43:55 2008 -0400
+++ /dev/nullThu Jan 01 00:00:00 1970 +0000
&lt; at &gt;&lt; at &gt; -1,29 +0,0 &lt; at &gt;&lt; at &gt;
-lib_LTLIBRARIES = libpulse-java.la
-
-libpulse_java_la_SOURCES = \
-jni-common.c \
-jni-common.h \
-org_classpath_icedtea_pulseaudio_EventLoop.c \
-org_classpath_icedtea_pulseaudio_EventLoop.h \
-org_classpath_icedtea_pulseaudio_Operation.h \
-org_classpath_icedtea_pulseaudio_Operation.c \
-org_classpath_icedtea_pulseaudio_Stream.c \
-org_classpath_icedtea_pulseaudio_Stream.h \
-org_classpath_icedtea_pulseaudio_PulseAudioSourcePort.h \
-org_classpath_icedtea_pulseaudio_PulseAudioSourcePort.c \
-org_classpath_icedtea_pulseaudio_PulseAudioTargetPort.c \
-    org_classpath_icedtea_pulseaudio_PulseAudioTargetPort.h 
-
-
- 
-
-AM_CFLAGS = -g -Wall -Werror $(PLATFORM_FLAGS) $(LIBPULSE_CFLAGS)
-AM_LDFLAGS = -g -Wall -Werror $(LIBPULSE_LIBS)
-
-PLATFORM_FLAGS = -DWITH_32BIT_PLATFORM
-
-topdir = ../..
-
-all-local: $(lib_LTLIBRARIES)
-cp .libs/libpulse-java.so $(topdir)
-

</description>
    <dc:creator>Ioana Ivan</dc:creator>
    <dc:date>2008-10-03T20:20:58</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.java.openjdk.distro-packaging.devel/3393">
    <title>changeset in /hg/icedtea6: 2008-10-03  Gary Benson  &lt;gbenson&lt; at &gt;red...</title>
    <link>http://comments.gmane.org/gmane.comp.java.openjdk.distro-packaging.devel/3393</link>
    <description>changeset e0a13e4cc434 in /hg/icedtea6
details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=e0a13e4cc434
description:
2008-10-03  Gary Benson  &lt;gbenson-H+wXaHxf7aLQT0dZR+AlfA&lt; at &gt;public.gmane.org&gt;

* ports/hotspot/build/linux/makefiles/shark.make:
Work around some GCC optimizer failures.

diffstat:

2 files changed, 19 insertions(+)
ChangeLog                                      |    5 +++++
ports/hotspot/build/linux/makefiles/shark.make |   14 ++++++++++++++

diffs (39 lines):

diff -r b83387569a2a -r e0a13e4cc434 ChangeLog
--- a/ChangeLogThu Oct 02 16:15:21 2008 -0400
+++ b/ChangeLogFri Oct 03 07:58:17 2008 -0400
&lt; at &gt;&lt; at &gt; -1,3 +1,8 &lt; at &gt;&lt; at &gt; 2008-10-01     Deepak Bhole &lt;dbhole&lt; at &gt;redh
+2008-10-03  Gary Benson  &lt;gbenson-H+wXaHxf7aLQT0dZR+AlfA&lt; at &gt;public.gmane.org&gt;
+
+* ports/hotspot/build/linux/makefiles/shark.make:
+Work around some GCC optimizer failures.
+
 2008-10-01     Deepak Bhole &lt;dbhole-H+wXaHxf7aLQT0dZR+AlfA&lt; at &gt;public.gmane.org&gt;
 * .hgignore: Removed IcedTeaPlugin.jar
 * IcedTeaPlugin.cc: Updated classpath when launching Java. added
diff -r b83387569a2a -r e0a13e4cc434 ports/hotspot/build/linux/makefiles/shark.make
--- a/ports/hotspot/build/linux/makefiles/shark.makeThu Oct 02 16:15:21 2008 -0400
+++ b/ports/hotspot/build/linux/makefiles/shark.makeFri Oct 03 07:58:17 2008 -0400
&lt; at &gt;&lt; at &gt; -1,5 +1,6 &lt; at &gt;&lt; at &gt;
 #
 # Copyright 1999-2005 Sun Microsystems, Inc.  All Rights Reserved.
+# Copyright 2008 Red Hat, Inc.
 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
 #
 # This code is free software; you can redistribute it and/or modify it
&lt; at &gt;&lt; at &gt; -29,3 +30,16 &lt; at &gt;&lt; at &gt; VM_SUBDIR = server
 VM_SUBDIR = server
 
 CFLAGS += -DSHARK
+
+# Something these files fail with GCC at higher optimization levels.
+# An llvm::Value ends up NULL, causing segfaults in LLVM when it is
+# used.  Observed with 4.1.2 20070925 (Red Hat 4.1.2-33) and 4.3.2.
+OPT_CFLAGS/sharkBlock.o = -O0
+OPT_CFLAGS/sharkMonitor.o = -O0
+
+# Something in this file fails with GCC at higher optimization levels.
+# The part of ciTypeFlow::StateVector::meet_exception() that fills in
+# local variables stops part way through leaving the rest set to T_TOP
+# (ie uninitialized).  The VM then aborts with a ShouldNotReachHere()
+# in SharkPHIState::initialize().  Observed with 4.3.2.
+OPT_CFLAGS/ciTypeFlow.o = -O1

</description>
    <dc:creator>Gary Benson</dc:creator>
    <dc:date>2008-10-03T11:58:25</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.java.openjdk.distro-packaging.devel/3392">
    <title>[Bug 200] New: java-1.6.0-openjdk-plugin (x86_64) fails to renderradar time loop animation</title>
    <link>http://comments.gmane.org/gmane.comp.java.openjdk.distro-packaging.devel/3392</link>
    <description>http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=200

           Summary: java-1.6.0-openjdk-plugin (x86_64) fails to render radar
                    time loop animation
           Product: IcedTea
           Version: unspecified
          Platform: PC
        OS/Version: Linux
            Status: NEW
          Severity: normal
          Priority: P2
         Component: IcedTea
        AssignedTo: unassigned-HMOWzH9t1bryS2n3IP37Vh1hho49/T1E&lt; at &gt;public.gmane.org
        ReportedBy: trapper-qbn8wtVyJ6CsTnJN9+BGXg&lt; at &gt;public.gmane.org


The web page with rendering failure is here:

http://www.goes.noaa.gov/HURRLOOPS/huirloop.html

This is a radar time loop java applet with generally 7 to 10 sequential frames.
Although the progress bar shows the frame progress, the frames do not switch.
Only the first frame is displayed. There is no animation of the radar display.

This has been an ongoing issue with openjdk and Sun java through Fedora 8, 9
and 10 in both 32 bit &amp; 64 bit versions when used with firefox 2x and 3x.


</description>
    <dc:creator>bugzilla-daemon-HMOWzH9t1bryS2n3IP37Vh1hho49/T1E&lt; at &gt;public.gmane.org</dc:creator>
    <dc:date>2008-10-03T11:20:30</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.java.openjdk.distro-packaging.devel/3384">
    <title>changeset in /hg/icedtea6: - More updates to the makefile so tha...</title>
    <link>http://comments.gmane.org/gmane.comp.java.openjdk.distro-packaging.devel/3384</link>
    <description>changeset e41e54a1c0b0 in /hg/icedtea6
details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=e41e54a1c0b0
description:
- More updates to the makefile so that it works with the new structure

diffstat:

1 file changed, 8 insertions(+), 7 deletions(-)
Makefile.am |   15 ++++++++-------

diffs (66 lines):

diff -r 358cb21c4730 -r e41e54a1c0b0 Makefile.am
--- a/Makefile.amWed Oct 01 16:40:56 2008 -0400
+++ b/Makefile.amThu Oct 02 15:27:35 2008 -0400
&lt; at &gt;&lt; at &gt; -13,12 +13,12 &lt; at &gt;&lt; at &gt; ICEDTEAPLUGIN_CLEAN = clean-IcedTeaPlugi
 ICEDTEAPLUGIN_CLEAN = clean-IcedTeaPlugin
 ICEDTEAPLUGIN_TARGET = IcedTeaPlugin.so
 PLUGIN_PATCH = patches/icedtea-liveconnect.patch
-LIVECONNECT = $(abs_top_srcdir)/plugin/icedtea/
+LIVECONNECT_DIR = -C lib/rt netscape
 else
 ICEDTEAPLUGIN_CLEAN =
 ICEDTEAPLUGIN_TARGET =
 PLUGIN_PATCH = patches/icedtea-plugin.patch
-LIVECONNECT = 
+LIVECONNECT_DIR =
 if ENABLE_PLUGIN
 GCJWEBPLUGIN_CLEAN = clean-gcjwebplugin
 GCJWEBPLUGIN_TARGET = gcjwebplugin.so
&lt; at &gt;&lt; at &gt; -44,6 +44,7 &lt; at &gt;&lt; at &gt; distclean-local: clean-copy clean-jtreg 
 rm -rf openjdk-ecj
 rm -rf openjdk
 rm -rf hotspot-tools
+rm -rf rt/netscape
 if ENABLE_LIVECONNECT
 rm -f IcedTeaPlugin.so
 else
&lt; at &gt;&lt; at &gt; -594,7 +595,7 &lt; at &gt;&lt; at &gt; stamps/patch.stamp: stamps/patch-fsg.sta
 fi
 if ENABLE_LIVECONNECT
 cp -a plugin/icedtea/sun/applet/*java openjdk/jdk/src/share/classes/sun/applet/
-cp -a plugin/icedtea/netscape openjdk/jdk/src/share/classes/
+cp -a plugin/icedtea/netscape rt/
 endif
 
 clean-patch:
&lt; at &gt;&lt; at &gt; -614,7 +615,7 &lt; at &gt;&lt; at &gt; clean-patch:
 if ! test x$${all_patches_ok} = "xyes" ; then \
   echo "WARNING Not all patches reverted cleanly" ; \
 fi
-rm -rf openjdk/jdk/src/share/classes/netscape
+rm -rf rt/netscape
 for file in plugin/icedtea/sun/applet/*java ; \
 do \
 rm -f openjdk/jdk/src/share/classes/sun/applet/`basename $file` ; \
&lt; at &gt;&lt; at &gt; -1203,7 +1204,7 &lt; at &gt;&lt; at &gt; bootstrap/jdk1.7.0/jre/lib/tools.jar: st
 
 # rt-closed.jar class files.
 rt-source-files.txt: stamps/extract.stamp stamps/copy-source-files.stamp
-find $(abs_top_srcdir)/rt $(abs_top_builddir)/rt $(LIVECONNECT) -name '*.java' \
+find $(abs_top_srcdir)/rt $(abs_top_builddir)/rt -name '*.java' \
   | sort -u &gt; $&lt; at &gt;
 
 stamps/rt-class-files.stamp: rt-source-files.txt
&lt; at &gt;&lt; at &gt; -1238,10 +1239,10 &lt; at &gt;&lt; at &gt; bootstrap/jdk1.7.0/jre/lib/rt-closed.jar
 if ! test -d $(ICEDTEA_BOOT_DIR) ; \
 then \
   $(JAR) cf $&lt; at &gt; -C lib/rt com -C lib/rt java \
-            -C lib/rt javax -C lib/rt net -C lib/rt sun ; \
+            -C lib/rt javax $(LIVECONNECT_DIR) -C lib/rt net -C lib/rt sun ; \
 else \
   $(ICEDTEA_BOOT_DIR)/bin/jar cf $&lt; at &gt; -C lib/rt com -C lib/rt java \
-            -C lib/rt javax -C lib/rt net -C lib/rt sun ; \
+            -C lib/rt javax $(LIVECONNECT_DIR) -C lib/rt net -C lib/rt sun ; \
 fi
 if test -d bootstrap/ecj/jre/lib ; \
 then \

</description>
    <dc:creator>Deepak Bhole</dc:creator>
    <dc:date>2008-10-02T20:49:34</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.java.openjdk.distro-packaging.devel/3383">
    <title>changeset in /hg/icedtea6: ChangeLog update</title>
    <link>http://comments.gmane.org/gmane.comp.java.openjdk.distro-packaging.devel/3383</link>
    <description>changeset 868547baa028 in /hg/icedtea6
details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=868547baa028
description:
ChangeLog update

diffstat:

1 file changed, 43 insertions(+)
ChangeLog |   43 +++++++++++++++++++++++++++++++++++++++++++

diffs (50 lines):

diff -r 09dcedbe63a8 -r 868547baa028 ChangeLog
--- a/ChangeLogThu Oct 02 10:55:55 2008 -0400
+++ b/ChangeLogThu Oct 02 15:34:39 2008 -0400
&lt; at &gt;&lt; at &gt; -1,3 +1,46 &lt; at &gt;&lt; at &gt; 2008-10-02  Lillian Angel  &lt;langel&lt; at &gt;redha
+2008-10-01     Deepak Bhole &lt;dbhole-H+wXaHxf7aLQT0dZR+AlfA&lt; at &gt;public.gmane.org&gt;
+* .hgignore: Removed IcedTeaPlugin.jar
+* IcedTeaPlugin.cc: Updated classpath when launching Java. added
+checks to detect error on Java side.
+* Makefile.am: Updated to fit new refactored files.
+* plugin/icedtea/sun/applet/AppletSecurityContextManager.java: New
+file, moved out of org/classpath/icedtea/plugin/, as a result of
+refactoring.
+* plugin/icedtea/sun/applet/PluginCallRequestFactory.java: Same.
+* plugin/icedtea/sun/applet/PluginStreamHandler.java: Same.
+* plugin/icedtea/sun/applet/GetMemberPluginCallRequest.java: Same.
+* plugin/icedtea/sun/applet/GetWindowPluginCallRequest.java: Same.
+* plugin/icedtea/sun/applet/PluginAppletSecurityContext.java: Same.
+* plugin/icedtea/sun/applet/PluginMain.java: Same.
+* plugin/icedtea/sun/applet/PluginMessageConsumer.java: Same.
+* plugin/icedtea/sun/applet/PluginMessageHandlerWorker.java: Same.
+* plugin/icedtea/sun/applet/PluginObjectStore.java: Same.
+* plugin/icedtea/sun/applet/RequestQueue.java: Same.
+* plugin/icedtea/sun/applet/TestEnv.java: Same.
+* plugin/icedtea/sun/applet/VoidPluginCallRequest.java: Same.
+* plugin/icedtea/org/classpath/icedtea/plugin/GetMemberPluginCallRequest.java: 
+Removed, as a result of refactoring.
+* plugin/icedtea/org/classpath/icedtea/plugin/GetWindowPluginCallRequest.java:
+Same.
+* plugin/icedtea/org/classpath/icedtea/plugin/PluginAppletSecurityContext.java:
+Same.
+* plugin/icedtea/org/classpath/icedtea/plugin/PluginCallRequestFactoryImpl.java:
+Same.
+* plugin/icedtea/org/classpath/icedtea/plugin/PluginMain.java: Same.
+* plugin/icedtea/org/classpath/icedtea/plugin/PluginMessageConsumer.java:
+Same.
+* plugin/icedtea/org/classpath/icedtea/plugin/PluginMessageHandlerWorker.java:
+Same.
+* plugin/icedtea/org/classpath/icedtea/plugin/PluginObjectStore.java:
+Same.
+* plugin/icedtea/org/classpath/icedtea/plugin/PluginStreamHandlerImpl.java:
+Same.
+* plugin/icedtea/org/classpath/icedtea/plugin/RequestQueue.java: Same.
+* plugin/icedtea/org/classpath/icedtea/plugin/TestEnv.java: Same.
+* plugin/icedtea/org/classpath/icedtea/plugin/VoidPluginCallRequest.java:
+Same.
+* plugin/icedtea/sun/applet/AppletSecurityContext.java: Same.
+
 2008-10-02  Lillian Angel  &lt;langel-H+wXaHxf7aLQT0dZR+AlfA&lt; at &gt;public.gmane.org&gt;
 
 * HACKING: Updated with new visualvm patch.

</description>
    <dc:creator>Deepak Bhole</dc:creator>
    <dc:date>2008-10-02T20:49:34</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.java.openjdk.distro-packaging.devel/3382">
    <title>changeset in /hg/icedtea6: More refactoring -- the last big one ...</title>
    <link>http://comments.gmane.org/gmane.comp.java.openjdk.distro-packaging.devel/3382</link>
    <description>changeset 358cb21c4730 in /hg/icedtea6
details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=358cb21c4730
description:
More refactoring -- the last big one in the forseeable future.

Implemented proper sandbox for liveconnect calls.

Added error detection in the plugin, so it doesn't loop forever if Java side
encounters an error.

diffstat:

30 files changed, 2483 insertions(+), 2274 deletions(-)
.hgignore                                                                     |    1 
ChangeLog                                                                     |   44 
IcedTeaPlugin.cc                                                              |  214 +-
Makefile.am                                                                   |   31 
plugin/icedtea/org/classpath/icedtea/plugin/GetMemberPluginCallRequest.java   |   78 
plugin/icedtea/org/classpath/icedtea/plugin/GetWindowPluginCallRequest.java   |   76 
plugin/icedtea/org/classpath/icedtea/plugin/PluginAppletSecurityContext.java  |  855 --------
plugin/icedtea/org/classpath/icedtea/plugin/PluginCallRequestFactoryImpl.java |   22 
plugin/icedtea/org/classpath/icedtea/plugin/PluginMain.java                   |  193 -
plugin/icedtea/org/classpath/icedtea/plugin/PluginMessageConsumer.java        |   76 
plugin/icedtea/org/classpath/icedtea/plugin/PluginMessageHandlerWorker.java   |   79 
plugin/icedtea/org/classpath/icedtea/plugin/PluginObjectStore.java            |  119 -
plugin/icedtea/org/classpath/icedtea/plugin/PluginStreamHandlerImpl.java      |  362 ---
plugin/icedtea/org/classpath/icedtea/plugin/RequestQueue.java                 |   40 
plugin/icedtea/org/classpath/icedtea/plugin/TestEnv.java                      |  172 -
plugin/icedtea/org/classpath/icedtea/plugin/VoidPluginCallRequest.java        |   69 
plugin/icedtea/sun/applet/AppletSecurityContext.java                          |   25 
plugin/icedtea/sun/applet/AppletSecurityContextManager.java                   |    6 
plugin/icedtea/sun/applet/GetMemberPluginCallRequest.java                     |   76 
plugin/icedtea/sun/applet/GetWindowPluginCallRequest.java                     |   75 
plugin/icedtea/sun/applet/PluginAppletSecurityContext.java                    | 1021 ++++++++++
plugin/icedtea/sun/applet/PluginCallRequestFactory.java                       |   19 
plugin/icedtea/sun/applet/PluginMain.java                                     |  188 +
plugin/icedtea/sun/applet/PluginMessageConsumer.java                          |   67 
plugin/icedtea/sun/applet/PluginMessageHandlerWorker.java                     |   78 
plugin/icedtea/sun/applet/PluginObjectStore.java                              |  121 +
plugin/icedtea/sun/applet/PluginStreamHandler.java                            |  371 +++
plugin/icedtea/sun/applet/RequestQueue.java                                   |   39 
plugin/icedtea/sun/applet/TestEnv.java                                        |  172 +
plugin/icedtea/sun/applet/VoidPluginCallRequest.java                          |   68 

diffs (truncated from 5148 to 500 lines):

diff -r f4981f8a1720 -r 358cb21c4730 .hgignore
--- a/.hgignoreWed Oct 01 05:52:01 2008 -0400
+++ b/.hgignoreWed Oct 01 16:40:56 2008 -0400
&lt; at &gt;&lt; at &gt; -25,7 +25,6 &lt; at &gt;&lt; at &gt; gcjwebplugin.so
 gcjwebplugin.so
 IcedTeaPlugin.o
 IcedTeaPlugin.so
-IcedTeaPlugin.jar
 extra-source-files.txt
 rt-source-files.txt
 hotspot-tools-source-files.txt
diff -r f4981f8a1720 -r 358cb21c4730 ChangeLog
--- a/ChangeLogWed Oct 01 05:52:01 2008 -0400
+++ b/ChangeLogWed Oct 01 16:40:56 2008 -0400
&lt; at &gt;&lt; at &gt; -1,3 +1,47 &lt; at &gt;&lt; at &gt; 2008-10-01  Gary Benson  &lt;gbenson&lt; at &gt;redhat
+2008-10-01Deepak Bhole &lt;dbhole-H+wXaHxf7aLQT0dZR+AlfA&lt; at &gt;public.gmane.org&gt;
+* .hgignore: Removed IcedTeaPlugin.jar
+* IcedTeaPlugin.cc: Updated classpath when launching Java. added checks to
+detect error on Java side.
+* Makefile.am: Updated to fit new refactored files.
+* plugin/icedtea/sun/applet/AppletSecurityContextManager.java: New file,
+moved out of org/classpath/icedtea/plugin/, as a result of refactoring.
+* plugin/icedtea/sun/applet/PluginCallRequestFactory.java: Same.
+* plugin/icedtea/sun/applet/PluginStreamHandler.java: Same.
+* plugin/icedtea/sun/applet/GetMemberPluginCallRequest.java: Same.
+* plugin/icedtea/sun/applet/GetWindowPluginCallRequest.java: Same.
+* plugin/icedtea/sun/applet/PluginAppletSecurityContext.java: Same.
+* plugin/icedtea/sun/applet/PluginMain.java: Same.
+* plugin/icedtea/sun/applet/PluginMessageConsumer.java: Same.
+* plugin/icedtea/sun/applet/PluginMessageHandlerWorker.java: Same.
+* plugin/icedtea/sun/applet/PluginObjectStore.java: Same.
+* plugin/icedtea/sun/applet/RequestQueue.java: Same.
+* plugin/icedtea/sun/applet/TestEnv.java: Same.
+* plugin/icedtea/sun/applet/VoidPluginCallRequest.java: Same.
+* plugin/icedtea/org/classpath/icedtea/plugin/GetMemberPluginCallRequest.java: 
+Removed, as a result of refactoring.
+* plugin/icedtea/org/classpath/icedtea/plugin/GetWindowPluginCallRequest.java:
+Same.
+*plugin/icedtea/org/classpath/icedtea/plugin/PluginAppletSecurityContext.java:
+Same.
+* plugin/icedtea/org/classpath/icedtea/plugin/PluginCallRequestFactoryImpl.java:
+Same.
+* plugin/icedtea/org/classpath/icedtea/plugin/PluginMain.java: Same.
+* plugin/icedtea/org/classpath/icedtea/plugin/PluginMessageConsumer.java:
+Same.
+*
+plugin/icedtea/org/classpath/icedtea/plugin/PluginMessageHandlerWorker.java:
+Same.
+* plugin/icedtea/org/classpath/icedtea/plugin/PluginObjectStore.java:
+Same.
+*
+plugin/icedtea/org/classpath/icedtea/plugin/PluginStreamHandlerImpl.java:
+Same.
+* plugin/icedtea/org/classpath/icedtea/plugin/RequestQueue.java: Same.
+* plugin/icedtea/org/classpath/icedtea/plugin/TestEnv.java: Same.
+* plugin/icedtea/org/classpath/icedtea/plugin/VoidPluginCallRequest.java:
+Same.
+* plugin/icedtea/sun/applet/AppletSecurityContext.java: Same.
+
 2008-10-01  Gary Benson  &lt;gbenson-H+wXaHxf7aLQT0dZR+AlfA&lt; at &gt;public.gmane.org&gt;
 
 * ports/hotspot/src/share/vm/shark/sharkState.cpp: Remove a
diff -r f4981f8a1720 -r 358cb21c4730 IcedTeaPlugin.cc
--- a/IcedTeaPlugin.ccWed Oct 01 05:52:01 2008 -0400
+++ b/IcedTeaPlugin.ccWed Oct 01 16:40:56 2008 -0400
&lt; at &gt;&lt; at &gt; -244,7 +244,6 &lt; at &gt;&lt; at &gt; static GError* channel_error = NULL;
 static GError* channel_error = NULL;
 // Fully-qualified appletviewer executable.
 static char* appletviewer_executable = NULL;
-static char* extra_jars = NULL;
 static char* libjvm_so = NULL;
 
 class IcedTeaPluginFactory;
&lt; at &gt;&lt; at &gt; -317,8 +316,6 &lt; at &gt;&lt; at &gt; char const* TYPES[10] = { "Object",
   char context[16]; \
   GetCurrentPageAddress(&amp;addr); \
   GetCurrentContextAddr(context); \
-  printf("Addr: %s , Context: %s\n", addr, context);\
-\
   nsCString message ("context ");                            \
   message.AppendInt (0);                                     \
   message += " reference ";                                  \
&lt; at &gt;&lt; at &gt; -428,12 +425,14 &lt; at &gt;&lt; at &gt; char const* TYPES[10] = { "Object",
 #define MESSAGE_RECEIVE_REFERENCE(reference, cast, name)                \
   nsresult res = NS_OK;                                                 \
   printf ("RECEIVE 1\n");                                               \
-  while (factory-&gt;result_map[reference]-&gt;returnIdentifier == -1)     \
+  while (factory-&gt;result_map[reference]-&gt;returnIdentifier == -1 &amp;&amp;\
+     factory-&gt;result_map[reference]-&gt;errorOccured == PR_FALSE)     \
     {                                                                   \
       PROCESS_PENDING_EVENTS_REF (reference);                                \
     }                                                                   \
   printf ("RECEIVE 3\n"); \
-  if (factory-&gt;result_map[reference]-&gt;returnIdentifier == 0) \
+  if (factory-&gt;result_map[reference]-&gt;returnIdentifier == 0 || \
+  factory-&gt;result_map[reference]-&gt;errorOccured == PR_TRUE) \
   {  \
   *name = NULL;                                                     \
   } else {                                                              \
&lt; at &gt;&lt; at &gt; -449,25 +448,33 &lt; at &gt;&lt; at &gt; char const* TYPES[10] = { "Object",
   PRBool processed = PR_FALSE;                                          \
   nsresult res = NS_OK;                                                 \
   printf("RECEIVE ID 1\n");                                             \
-  while (factory-&gt;result_map[reference]-&gt;returnIdentifier == -1)     \
+  while (factory-&gt;result_map[reference]-&gt;returnIdentifier == -1 &amp;&amp;\
+     factory-&gt;result_map[reference]-&gt;errorOccured == PR_FALSE)     \
     {                                                                   \
       PROCESS_PENDING_EVENTS_REF (reference);                                \
     }                                                                   \
                                                                         \
+  if (factory-&gt;result_map[reference]-&gt;errorOccured == PR_TRUE)     \
+  { \
+  *id = NULL; \
+  } else \
+  { \
   *id = reinterpret_cast&lt;cast&gt;                                  \
     (new JNIID (factory-&gt;result_map[reference]-&gt;returnIdentifier, signature));         \
    printf ("RECEIVE_ID: %s result: %x = %d, %s\n",               \
            __func__, *id, factory-&gt;result_map[reference]-&gt;returnIdentifier,             \
-           signature);
+           signature); \
+  }
 
 #define MESSAGE_RECEIVE_VALUE(reference, ctype, result)                    \
   nsresult res = NS_OK;                                                    \
   printf("RECEIVE VALUE 1\n");                                             \
-  while (factory-&gt;result_map[reference]-&gt;returnValue == "")            \
+  while (factory-&gt;result_map[reference]-&gt;returnValue == "" &amp;&amp; \
+     factory-&gt;result_map[reference]-&gt;errorOccured == PR_FALSE)            \
     {                                                                      \
       PROCESS_PENDING_EVENTS_REF (reference);                                   \
     }                                                                      \
-  *result = ParseValue (type, factory-&gt;result_map[reference]-&gt;returnValue);            
+    *result = ParseValue (type, factory-&gt;result_map[reference]-&gt;returnValue);            
 // \
 //   char* valueString = ValueString (type, *result);              \
 //   printf ("RECEIVE_VALUE: %s result: %x = %s\n",                \
&lt; at &gt;&lt; at &gt; -479,13 +486,19 &lt; at &gt;&lt; at &gt; char const* TYPES[10] = { "Object",
   PRBool processed = PR_FALSE;                                  \
   nsresult res = NS_OK;                                         \
   printf("RECEIVE SIZE 1\n");                                 \
-  while (factory-&gt;result_map[reference]-&gt;returnValue == "")                        \
+  while (factory-&gt;result_map[reference]-&gt;returnValue == "" &amp;&amp; \
+     factory-&gt;result_map[reference]-&gt;errorOccured == PR_FALSE) \
     {                                                           \
       PROCESS_PENDING_EVENTS_REF (reference);                        \
     }                                                           \
   nsresult conversionResult;                                    \
-  *result = factory-&gt;result_map[reference]-&gt;returnValue.ToInteger (&amp;conversionResult); \
-  PLUGIN_CHECK ("parse integer", conversionResult);             
+  if (factory-&gt;result_map[reference]-&gt;errorOccured == PR_TRUE) \
+*result = NULL; \
+  else \
+  { \
+    *result = factory-&gt;result_map[reference]-&gt;returnValue.ToInteger (&amp;conversionResult); \
+    PLUGIN_CHECK ("parse integer", conversionResult);             \
+  }
 // \
 //   printf ("RECEIVE_SIZE: %s result: %x = %d\n",                 \
 //           __func__, result, *result);
&lt; at &gt;&lt; at &gt; -495,13 +508,19 &lt; at &gt;&lt; at &gt; char const* TYPES[10] = { "Object",
   PRBool processed = PR_FALSE;                                  \
   nsresult res = NS_OK;                                         \
   printf("RECEIVE STRING 1\n");                                 \
-  while (factory-&gt;result_map[reference]-&gt;returnValue == "")                            \
+  while (factory-&gt;result_map[reference]-&gt;returnValue == "" &amp;&amp; \
+     factory-&gt;result_map[reference]-&gt;errorOccured == PR_FALSE)  \
     {                                                           \
       PROCESS_PENDING_EVENTS_REF (reference);                        \
     }                                                           \
-printf("Setting result to: %s\n", strdup (factory-&gt;result_map[reference]-&gt;returnValue.get ())); \
-  *result = reinterpret_cast&lt;char_type const*&gt;                  \
-    (strdup (factory-&gt;result_map[reference]-&gt;returnValue.get ()));                     
+if (factory-&gt;result_map[reference]-&gt;errorOccured == PR_TRUE) \
+*result = NULL; \
+else \
+{\
+  printf("Setting result to: %s\n", strdup (factory-&gt;result_map[reference]-&gt;returnValue.get ())); \
+      *result = reinterpret_cast&lt;char_type const*&gt;                  \
+                (strdup (factory-&gt;result_map[reference]-&gt;returnValue.get ()));\
+}
 // \
 //   printf ("RECEIVE_STRING: %s result: %x = %s\n",               \
 //           __func__, result, *result);
&lt; at &gt;&lt; at &gt; -511,16 +530,22 &lt; at &gt;&lt; at &gt; char const* TYPES[10] = { "Object",
   PRBool processed = PR_FALSE;                                  \
   nsresult res = NS_OK;                                         \
   printf("RECEIVE STRING UCS 1\n");                                 \
-  while (factory-&gt;result_map[reference]-&gt;returnValueUCS.IsEmpty())                        \
+  while (factory-&gt;result_map[reference]-&gt;returnValueUCS.IsEmpty() &amp;&amp; \
+     factory-&gt;result_map[reference]-&gt;errorOccured == PR_FALSE) \
     {                                                           \
       PROCESS_PENDING_EVENTS_REF (reference);                        \
     }                                                           \
-  int length = factory-&gt;result_map[reference]-&gt;returnValueUCS.Length ();               \
-  jchar* newstring = static_cast&lt;jchar*&gt; (PR_Malloc (length));  \
-  memset (newstring, 0, length);                                \
-  memcpy (newstring, factory-&gt;result_map[reference]-&gt;returnValueUCS.get (), length);   \
-  std::cout &lt;&lt; "Setting result to: " &lt;&lt; factory-&gt;result_map[reference]-&gt;returnValueUCS.get() &lt;&lt; std::endl; \
-  *result = static_cast&lt;jchar const*&gt; (newstring);
+if (factory-&gt;result_map[reference]-&gt;errorOccured == PR_TRUE) \
+*result = NULL; \
+else \
+{ \
+  int length = factory-&gt;result_map[reference]-&gt;returnValueUCS.Length ();               \
+  jchar* newstring = static_cast&lt;jchar*&gt; (PR_Malloc (length));  \
+  memset (newstring, 0, length);                                \
+  memcpy (newstring, factory-&gt;result_map[reference]-&gt;returnValueUCS.get (), length);   \
+  std::cout &lt;&lt; "Setting result to: " &lt;&lt; factory-&gt;result_map[reference]-&gt;returnValueUCS.get() &lt;&lt; std::endl; \
+  *result = static_cast&lt;jchar const*&gt; (newstring); \
+}
 
 // \
 //   printf ("RECEIVE_STRING: %s result: %x = %s\n",               \
&lt; at &gt;&lt; at &gt; -530,11 +555,15 &lt; at &gt;&lt; at &gt; char const* TYPES[10] = { "Object",
   PRBool processed = PR_FALSE;                                  \
   nsresult res = NS_OK;                                         \
   printf("RECEIVE BOOLEAN 1\n");                             \
-  while (factory-&gt;result_map[reference]-&gt;returnIdentifier == -1)               \
+  while (factory-&gt;result_map[reference]-&gt;returnIdentifier == -1 &amp;&amp; \
+     factory-&gt;result_map[reference]-&gt;errorOccured == PR_FALSE)               \
     {                                                           \
       PROCESS_PENDING_EVENTS_REF (reference);                        \
     }                                                           \
-  *result = factory-&gt;result_map[reference]-&gt;returnIdentifier;
+if (factory-&gt;result_map[reference]-&gt;errorOccured == PR_TRUE) \
+*result = NULL; \
+else \
+  *result = factory-&gt;result_map[reference]-&gt;returnIdentifier;
 //      res = factory-&gt;current-&gt;ProcessNextEvent (PR_TRUE,        \
 //                                                &amp;processed);    \
 //      PLUGIN_CHECK_RETURN (__func__, res);                      \
&lt; at &gt;&lt; at &gt; -1225,9 +1254,57 &lt; at &gt;&lt; at &gt; template &lt;class T&gt; NS_IMETHODIMP
 template &lt;class T&gt; NS_IMETHODIMP
 IcedTeaRunnableMethod&lt;T&gt;::Run ()
 {
-  (object-&gt;*method) ();
-  return NS_OK;
-}
+    (object-&gt;*method) ();
+    return NS_OK;
+}
+
+
+// FIXME: Special class just for dispatching GetURL to another 
+// thread.. seriously, a class just for that? there has to be a better way!
+
+class GetURLRunnable : public nsIRunnable
+{
+public:
+  NS_DECL_ISUPPORTS
+  NS_DECL_NSIRUNNABLE
+
+  GetURLRunnable (nsIPluginInstancePeer* peer, const char* url, const char* target);
+
+  ~GetURLRunnable ();
+
+private:
+  nsIPluginInstancePeer* peer;
+  const char* url;
+  const char* target;
+};
+
+NS_IMPL_ISUPPORTS1 (GetURLRunnable, nsIRunnable)
+
+GetURLRunnable::GetURLRunnable (nsIPluginInstancePeer* peer, const char* url, const char* target)
+: peer(peer),
+  url(url),
+  target(target)
+{
+    NS_ADDREF (peer);
+}
+
+GetURLRunnable::~GetURLRunnable ()
+{
+  NS_RELEASE(peer);
+}
+
+NS_IMETHODIMP
+GetURLRunnable::Run ()
+{
+   nsCOMPtr&lt;nsPIPluginInstancePeer&gt; ownerGetter =
+                do_QueryInterface (peer);
+   nsIPluginInstanceOwner* owner = nsnull;
+   ownerGetter-&gt;GetOwner (&amp;owner);
+
+   return owner-&gt;GetURL ((const char*) url, (const char*) target,
+                         nsnull, 0, nsnull, 0);
+}
+
 
 NS_IMPL_ISUPPORTS6 (IcedTeaPluginFactory, nsIFactory, nsIPlugin, nsIJVMManager,
                     nsIJVMPrefsWindow, nsIJVMPlugin, nsIInputStreamCallback)
&lt; at &gt;&lt; at &gt; -2433,6 +2510,11 &lt; at &gt;&lt; at &gt; IcedTeaPluginFactory::OnInputStreamReady
   return NS_OK;
 }
 
+#include &lt;nsIWebNavigation.h&gt;
+#include &lt;nsServiceManagerUtils.h&gt;
+#include &lt;nsIExternalProtocolService.h&gt;
+#include &lt;nsNetUtil.h&gt;
+
 void
 IcedTeaPluginFactory::HandleMessage (nsCString const&amp; message)
 {
&lt; at &gt;&lt; at &gt; -2477,8 +2559,11 &lt; at &gt;&lt; at &gt; IcedTeaPluginFactory::HandleMessage (nsC
         {
           IcedTeaPluginInstance* instance = NULL;
           instances.Get (identifier, &amp;instance);
-//          if (instance != 0)
-//            instance-&gt;peer-&gt;ShowStatus (nsCString (rest).get ());
+          if (instance != 0)
+  {
+            instance-&gt;peer-&gt;ShowStatus (nsCString (rest).get ());
+
+          }
         }
       else if (command == "initialized")
         {
&lt; at &gt;&lt; at &gt; -2504,9 +2589,10 &lt; at &gt;&lt; at &gt; IcedTeaPluginFactory::HandleMessage (nsC
               nsIPluginInstanceOwner* owner = nsnull;
               ownerGetter-&gt;GetOwner (&amp;owner);
   printf("Calling GetURL with %s and %s\n", nsCString (url).get (), nsCString (target).get ());
-              owner-&gt;GetURL (nsCString (url).get (),
-                             nsCString (target).get (),
-                             nsnull, 0, nsnull, 0);
+              nsCOMPtr&lt;nsIRunnable&gt; event = new GetURLRunnable (instance-&gt;peer,
+ nsCString (url).get (),
+ nsCString (target).get ());
+              current-&gt;Dispatch(event, nsIEventTarget::DISPATCH_NORMAL);
             }
         }
       else if (command == "GetWindow")
&lt; at &gt;&lt; at &gt; -2841,20 +2927,47 &lt; at &gt;&lt; at &gt; void IcedTeaPluginFactory::ProcessMessag
 void IcedTeaPluginFactory::ProcessMessage ()
 {
 while (true) {
-printf("Process thread sleeping...\n");
-PR_Sleep(PR_INTERVAL_NO_TIMEOUT);
+PR_Sleep(1000);
+
+// If there was an interrupt, clear it
 PR_ClearInterrupt();
-
-printf("Process thread interrupted...\n");
-
 
 // Was I interrupted for shutting down?
 if (shutting_down == PR_TRUE) {
 break;
 }
 
-ConsumeMsgFromJVM();
+// Nope. Ok, is there work to do?
+if (!jvmMsgQueue.empty())
+    ConsumeMsgFromJVM();
+
+// All done. Now let's process pending events
+
+// Were there new events dispatched?
+
+PRBool this_has_pending, curr_has_pending, processed = PR_FALSE;
+PRBool continue_processing = PR_TRUE;
+
+while (continue_processing == PR_TRUE) {
+
+  processThread-&gt;HasPendingEvents(&amp;this_has_pending);
+  if (this_has_pending == PR_TRUE) {
+  processThread-&gt;ProcessNextEvent(PR_TRUE, &amp;processed);
+  printf("Pending event processed (this) ... %d\n", processed);
+  }
+
+  current-&gt;HasPendingEvents(&amp;curr_has_pending);
+  if (curr_has_pending == PR_TRUE) {
+  current-&gt;ProcessNextEvent(PR_TRUE, &amp;processed);
+  printf("Pending event processed (current) ... %d\n", processed);
+  }
+
+  if (this_has_pending != PR_TRUE &amp;&amp; curr_has_pending != PR_TRUE) {
+  continue_processing = PR_FALSE;
+  }
+}
 }
+
 }
 
 void IcedTeaPluginFactory::ConsumeMsgFromJVM ()
&lt; at &gt;&lt; at &gt; -2872,9 +2985,7 &lt; at &gt;&lt; at &gt; void IcedTeaPluginFactory::ConsumeMsgFro
 HandleMessage (message);
 printf("Processing complete\n");
 }
-
-}
-
+}
 
 /**
  *
&lt; at &gt;&lt; at &gt; -3189,9 +3300,9 &lt; at &gt;&lt; at &gt; IcedTeaPluginFactory::StartAppletviewer 
   PLUGIN_CHECK_RETURN ("init process", result);
 
   // FIXME: hard-coded port number.
-  char const* args[8] = { "-classpath", extra_jars, "-Xdebug", "-Xnoagent", "-Xrunjdwp:transport=dt_socket,address=8787,server=y,suspend=n", "org.classpath.icedtea.plugin.PluginMain", "50007" };
+  char const* args[5] = { "-Xdebug", "-Xnoagent", "-Xrunjdwp:transport=dt_socket,address=8787,server=y,suspend=n", "sun.applet.PluginMain", "50007" };
 //  char const* args[2] = { "sun.applet.PluginMain", "50007" };
-  result = applet_viewer_process-&gt;Run (PR_FALSE, args, 8, nsnull);
+  result = applet_viewer_process-&gt;Run (PR_FALSE, args, 5, nsnull);
   PLUGIN_CHECK_RETURN ("run process", result);
 
   // start processing thread
&lt; at &gt;&lt; at &gt; -3812,6 +3923,7 &lt; at &gt;&lt; at &gt; nsresult
 nsresult
 IcedTeaJNIEnv::GetCurrentContextAddr(char *addr)
 {
+return NS_OK;
     PLUGIN_TRACE_JNIENV ();
 
     // Get JSContext from stack.
&lt; at &gt;&lt; at &gt; -3835,7 +3947,7 &lt; at &gt;&lt; at &gt; nsresult
 nsresult
 IcedTeaJNIEnv::GetCurrentPageAddress(const char **addr)
 {
-
+return NS_OK;
     PLUGIN_TRACE_JNIENV ();
 
     nsIPrincipal *prin;
&lt; at &gt;&lt; at &gt; -4922,27 +5034,15 &lt; at &gt;&lt; at &gt; NSGetFactory (nsISupports* aServMgr, nsC
 
   //executableString += nsCString ("/../../bin/pluginappletviewer");
   executable += nsCString ("/../../bin/java");
-  extrajars += jar;
-  extrajars += nsCString("/IcedTeaPlugin.jar");
-  extrajars += ":";
-  extrajars += jar;
-  extrajars += nsCString("/rt.jar");
 
   //executable += nsCString ("/client/libjvm.so");
 
   // Never freed.
   appletviewer_executable = strdup (executable.get ());
-  extra_jars = strdup (extrajars.get ());
   //libjvm_so = strdup (executable.get ());
   if (!appletviewer_executable)
     {
       PLUGIN_ERROR ("Failed to create java executable name.");
-      return NS_ERROR_OUT_OF_MEMORY;
-    }
-
-  if (!extra_jars)
-    {
-      PLUGIN_ERROR ("Failed to create plugin jar name.");
       return NS_ERROR_OUT_OF_MEMORY;
     }
 
diff -r f4981f8a1720 -r 358cb21c4730 Makefile.am
--- a/Makefile.amWed Oct 01 05:52:01 2008 -0400
+++ b/Makefile.amWed Oct 01 16:40:56 2008 -0400
&lt; at &gt;&lt; at &gt; -12,13 +12,11 &lt; at &gt;&lt; at &gt; if ENABLE_LIVECONNECT
 if ENABLE_LIVECONNECT
 ICEDTEAPLUGIN_CLEAN = clean-IcedTeaPlugin
 ICEDTEAPLUGIN_TARGET = IcedTeaPlugin.so
-ICEDTEAPLUGIN_JAR = IcedTeaPlugin.jar
 PLUGIN_PATCH = patches/icedtea-liveconnect.patch
 LIVECONNECT = $(abs_top_srcdir)/plugin/icedtea/
 else
 ICEDTEAPLUGIN_CLEAN =
 ICEDTEAPLUGIN_TARGET =
-ICEDTEAPLUGIN_JAR =
 PLUGIN_PATCH = patches/icedtea-plugin.patch
 LIVECONNECT = 
 if ENABLE_PLUGIN
&lt; at &gt;&lt; at &gt; -48,7 +46,6 &lt; at &gt;&lt; at &gt; distclean-local: clean-copy clean-jtreg 
 rm -rf hotspot-tools
 if ENABLE_LIVECONNECT
 rm -f IcedTeaPlugin.so
-rm -rf IcedTeaPlugin.jar
 else
 if ENABLE_PLUGIN
 rm -f gcjwebplugin.so
&lt; at &gt;&lt; at &gt; -597,6 +594,7 &lt; at &gt;&lt; at &gt; stamps/patch.stamp: stamps/patch-fsg.sta
 fi
 if ENABLE_LIVECONNECT
 cp -a plugin/icedtea/sun/applet/*java openjdk/jdk/src/share/classes/sun/applet/
+cp -a plugin/icedtea/netscape openjdk/jdk/src/share/classes/
 endif
 
 clean-patch:
&lt; at &gt;&lt; at &gt; -616,6 +614,7 &lt; at &gt;&lt; at &gt; clean-patch:
 if ! test x$${all_patches_ok} = "xyes" ; then \
   echo "WARNING Not all patches reverted cleanly" ; \
 fi
+rm -rf openjdk/jdk/src/share/classes/netscape
 for file in plugin/icedtea/sun/applet/*java ; \
 do \
 rm -f openjdk/jdk/src/share/classes/sun/applet/`basename $file` ; \
&lt; at &gt;&lt; at &gt; -911,7 +910,7 &lt; at &gt;&lt; at &gt; stamps/icedtea.stamp: stamps/bootstrap-d
 stamps/icedtea.stamp: stamps/bootstrap-directory-symlink.stamp \
 stamps/hotspot-tools.stamp stamps/plugs.stamp \
 stamps/ports.stamp stamps/patch.stamp stamps/overlay.stamp \

</description>
    <dc:creator>Deepak Bhole</dc:creator>
    <dc:date>2008-10-02T20:49:34</dc:date>
  </item>
  <textinput rdf:about="http://search.gmane.org/?group=$group=gmane.comp.java.openjdk.distro-packaging.devel">
    <title>Search Engine</title>
    <description>Search the mailing list at Gmane</description>
    <name>query</name>
    <link>http://search.gmane.org/?group=$group=gmane.comp.java.openjdk.distro-packaging.devel</link>
  </textinput>
</rdf:RDF>
