[kaffe] CVS kaffe (robilad): resynced with gnu classpath: corba fixes

Kaffe CVS cvs-commits at kaffe.org
Thu May 26 03:29:53 PDT 2005


PatchSet 6573 
Date: 2005/05/26 10:24:22
Author: robilad
Branch: HEAD
Tag: (none) 
Log:
resynced with gnu classpath: corba fixes

Members: 
	ChangeLog:1.4100->1.4101 
	libltdl/configure:1.79->1.80 
	libraries/javalib/Makefile.am:1.356->1.357 
	libraries/javalib/Makefile.in:1.446->1.447 
	libraries/javalib/all.files:1.129->1.130 
	libraries/javalib/gnu/CORBA/Asynchron.java:INITIAL->1.1 
	libraries/javalib/gnu/CORBA/Connected_objects.java:1.1->1.2 
	libraries/javalib/gnu/CORBA/Functional_ORB.java:1.1->1.2 
	libraries/javalib/gnu/CORBA/IOR.java:1.1->1.2 
	libraries/javalib/gnu/CORBA/ObjectCreator.java:1.1->1.2 
	libraries/javalib/gnu/CORBA/Restricted_ORB.java:1.1->1.2 
	libraries/javalib/gnu/CORBA/ServiceDetailHolder.java:INITIAL->1.1 
	libraries/javalib/gnu/CORBA/bufferedResponseHandler.java:1.1->1.2 
	libraries/javalib/gnu/CORBA/gnuAny.java:1.1->1.2 
	libraries/javalib/gnu/CORBA/gnuRequest.java:1.1->1.2 
	libraries/javalib/gnu/CORBA/universalHolder.java:INITIAL->1.1 
	libraries/javalib/gnu/CORBA/CDR/aligningInputStream.java:1.1->1.2 
	libraries/javalib/gnu/CORBA/CDR/cdrOutput.java:1.1->1.2 
	libraries/javalib/gnu/regexp/RE.java:1.5->1.6 
	libraries/javalib/java/util/regex/Pattern.java:INITIAL->1.11 
	libraries/javalib/org/omg/CORBA/DefinitionKind.java:INITIAL->1.1 
	libraries/javalib/org/omg/CORBA/DynFixed.java:1.1->1.2 
	libraries/javalib/org/omg/CORBA/DynamicImplementation.java:INITIAL->1.1 
	libraries/javalib/org/omg/CORBA/IDLType.java:1.2->1.3 
	libraries/javalib/org/omg/CORBA/IDLTypeOperations.java:INITIAL->1.1 
	libraries/javalib/org/omg/CORBA/IRObject.java:INITIAL->1.1 
	libraries/javalib/org/omg/CORBA/IRObjectOperations.java:INITIAL->1.1 
	libraries/javalib/org/omg/CORBA/NameValuePair.java:1.1->1.2 
	libraries/javalib/org/omg/CORBA/ORB.java:1.3->1.4 
	libraries/javalib/org/omg/CORBA/ServerRequest.java:INITIAL->1.1 
	libraries/javalib/org/omg/CORBA/ServiceDetail.java:INITIAL->1.1 
	libraries/javalib/org/omg/CORBA/ServiceDetailHelper.java:INITIAL->1.1 
	libraries/javalib/org/omg/CORBA/ServiceInformation.java:INITIAL->1.1 
	libraries/javalib/org/omg/CORBA/ServiceInformationHelper.java:INITIAL->1.1 
	libraries/javalib/org/omg/CORBA/ServiceInformationHolder.java:INITIAL->1.1 
	libraries/javalib/org/omg/CORBA/SetOverrideType.java:1.2->1.3 
	libraries/javalib/org/omg/CORBA/TRANSIENT.java:1.3->1.4 
	libraries/javalib/org/omg/CORBA/ValueBaseHelper.java:INITIAL->1.1 
	libraries/javalib/org/omg/CORBA/ValueBaseHolder.java:INITIAL->1.1 
	libraries/javalib/org/omg/CORBA/portable/Delegate.java:1.1->1.2 
	libraries/javalib/org/omg/CORBA/portable/ObjectImpl.java:1.1->1.2 
	libraries/javalib/org/omg/CORBA/portable/ValueBase.java:INITIAL->1.1 

Index: kaffe/ChangeLog
diff -u kaffe/ChangeLog:1.4100 kaffe/ChangeLog:1.4101
--- kaffe/ChangeLog:1.4100	Mon May 23 14:13:21 2005
+++ kaffe/ChangeLog	Thu May 26 10:24:22 2005
@@ -1,3 +1,130 @@
+2005-05-26  Dalibor Topic  <robilad at kaffe.org>
+
+        Resynced with GNU Classpath.
+
+	2005-05-25  Audrius Meskauskas  <AudriusA at Bioinformatics.org>
+
+	* org/omg/CORBA/TRANSIENT.java (serialVersionUID): Added 1.4 SVUID.
+
+	2005-05-25  Audrius Meskauskas  <AudriusA at Bioinformatics.org>
+
+	* org/omg/CORBA/ValueBaseHelper.java,
+	org/omg/CORBA/ValueBaseHolder.java,
+	org/omg/CORBA/portable/ValueBase.java: New files.
+	* gnu/CORBA/gnuAny.java (insert_Value, extract_Value): 
+	Implemented methods. 
+
+	2005-05-25  Audrius Meskauskas  <AudriusA at Bioinformatics.org>
+
+	* org/omg/CORBA/ORB.java (create_dyn_any, create_dyn_array,
+	create_dyn_enum, create_dyn_sequence, create_dyn_struct, 
+	create_dyn_union, create_policy): Declaring they may throw an
+	exceptions.
+	* org/omg/CORBA/DefinitionKind.java: Making fields final and inherit
+	from IDLEntity, Serializable.
+	* org/omg/CORBA/IRObject.java: Inherit from 
+	org.omg.CORBA.Object, Serializable, IDLEntity.
+
+	2005-05-25  Audrius Meskauskas  <AudriusA at Bioinformatics.org>
+
+	* gnu/CORBA/Connected_objects.java (cObject, getKey, add, get,
+	entrySet, remove),
+	* gnu/CORBA/Functional_ORB.java (portServer, getFreePort, connect,
+	startService, destroy, disconnect, object_to_string, run, shutdown, 
+	find_connected_object, createIOR, finalize): Implemented 
+	listening on different ports for different objects.
+
+	2005-05-24  Audrius Meskauskas  <AudriusA at Bioinformatics.org>
+
+	* org/omg/CORBA/portable/Delegate.java (equals): Compare parameters.
+
+	2005-05-24  Mark Wielaard  <mark at klomp.org>
+
+	* java/util/regex/Pattern.java (split): Assign value of variable
+	matched outside while statement.
+	* gnu/regexp/RE.java (getCharUnit): Assign value of unit.bk variable
+	outside if statement.
+	* gnu/CORBA/bufferedResponseHandler.java (createReply): Assign values
+	from static class type constants.
+	* gnu/CORBA/IOR.java (_write_no_endian): Likewise.
+	* gnu/CORBA/Functional_ORB.java (respond_to_client): Likewise.
+	(serve): Likewise.
+
+	2005-05-23  Audrius Meskauskas  <AudriusA at Bioinformatics.org>
+
+	* gnu/CORBA/Asynchron.java: New file.
+	* org/omg/CORBA/ORB.java (send_multiple_requests_oneway,
+	send_multiple_requests_deferred, poll_next_response, 
+	get_next_response, perform_work, work_pending): New methods.
+	* gnu/CORBA/gnuRequest.java (send_deferred, send_oneway):
+	Launch the submission process in a separate thread.
+	* org/omg/CORBA/portable/ObjectImpl.java (hashCode): Removing
+	redundant method.
+	* gnu/CORBA/Functional_ORB.java (send_multiple_requests_oneway,
+	send_multiple_requests_deferred, poll_next_response,
+	get_next_response, perform_work, work_pending): New methods.
+	* gnu/CORBA/Restricted_ORB.java (send_multiple_requests_oneway,
+	send_multiple_requests_deferred, poll_next_response,
+	get_next_response, perform_work, work_pending): New methods.	
+
+	2005-05-23  Audrius Meskauskas  <AudriusA at Bioinformatics.org>
+
+	* org/omg/CORBA/NameValuePair.java: Inherit from Serializable, IDLEntity.
+	* org/omg/CORBA/SetOverrideType.java (constuctor): Making protected.
+	* org/omg/CORBA/DynFixed.java (set_value): Declare it may throw an 
+	InvalidValue.
+
+	2005-05-23  Audrius Meskauskas  <AudriusA at Bioinformatics.org>
+
+	* org/omg/CORBA/DefinitionKind.java,
+	org/omg/CORBA/IRObject.java,
+	org/omg/CORBA/IRObjectOperations.java,
+	org/omg/CORBA/IDLTypeOperations.java: New files.
+	* org/omg/CORBA/IDLType.java: Inherit from IDLTypeOperations.
+
+	2005-05-23  Audrius Meskauskas  <AudriusA at Bioinformatics.org>
+
+	* org/omg/CORBA/ORB.java (create_context_list, create_basic_dyn_any,
+	create_dyn_any, create_dyn_array,  create_dyn_enum,
+	create_dyn_sequence, create_dyn_struct, create_dyn_union,
+	create_policy, get_current): New 
+	methods. 
+
+	2005-05-22  Audrius Meskauskas, <AudriusA at Bioinformatics.org>
+
+	* org/omg/CORBA/ServerRequest.java,
+	org/omg/CORBA/DynamicImplementation.java:
+	New files.
+
+	2005-05-22  Audrius Meskauskas, <AudriusA at Bioinformatics.org>
+
+	* gnu/CORBA/cdrOutput.java (write_octet_array): Removing
+	redundant loop.
+
+	2005-05-22  Audrius Meskauskas, <AudriusA at Bioinformatics.org>
+
+	* org/omg/CORBA/ServiceInformation.java,
+	org/omg/CORBA/ServiceInformationHelper.java,
+	org/omg/CORBA/ServiceInformationHolder: New files.
+
+	2005-05-22  Audrius Meskauskas, <AudriusA at Bioinformatics.org>
+
+	* org/omg/CORBA/ServiceDetail.java,
+	org/omg/CORBA/ServiceDetailHelper.java,
+	gnu/CORBA/ServiceDetailHolder.java: New files.
+
+	2005-05-21  Audrius Meskauskas, <AudriusA at Bioinformatics.org>
+
+	* gnu/CORBA/ObjectCreator.java: Use gnu/CORBA namespace.
+
+	2005-05-21  Audrius Meskauskas, <AudriusA at Bioinformatics.org>
+
+	* gnu/CORBA/universalHolder.java: New file.
+	* gnu/CORBA/gnuAny.java (create_input_stream,
+	read_value): Use the universalHolder.
+	* gnu/CORBA/CDR/aligningInputStream.java
+	(getBuffer): New method.
+
 2005-05-23  Dalibor Topic  <robilad at kaffe.org>
 
 	* configure.ac: Only run boehm-gc configury if
Index: kaffe/libltdl/configure
diff -u kaffe/libltdl/configure:1.79 kaffe/libltdl/configure:1.80
--- kaffe/libltdl/configure:1.79	Mon May 23 14:13:35 2005
+++ kaffe/libltdl/configure	Thu May 26 10:24:25 2005
@@ -7330,11 +7330,12 @@
 	tmp_addflag=
 	case $cc_basename,$host_cpu in
 	pgcc*)				# Portland Group C compiler
-	  whole_archive_flag_spec=
+	  whole_archive_flag_spec='${wl}--whole-archive,`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive'
+	  tmp_addflag=' $pic_flag'
 	  ;;
 	pgf77* | pgf90* )			# Portland Group f77 and f90 compilers
-	  whole_archive_flag_spec=
-	  tmp_addflag=' -fpic -Mnomain' ;;
+	  whole_archive_flag_spec='${wl}--whole-archive,`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive'
+	  tmp_addflag=' $pic_flag -Mnomain' ;;
 	ecc*,ia64* | icc*,ia64*)		# Intel C compiler on ia64
 	  tmp_addflag=' -i_dynamic' ;;
 	efc*,ia64* | ifort*,ia64*)	# Intel Fortran compiler on ia64
@@ -8498,7 +8499,7 @@
 
   # Append ld.so.conf contents to the search path
   if test -f /etc/ld.so.conf; then
-    lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;s/[:,\t]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '`
+    lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;s/[:,	]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '`
     sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
   fi
 
@@ -8563,8 +8564,8 @@
   need_lib_prefix=no
   # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs.
   case $host_os in
-    openbsd3.3 | openbsd3.3.*)	need_version=yes ;;
-    *)				need_version=no  ;;
+    openbsd3.3 | openbsd3.3.*) need_version=yes ;;
+    *)                         need_version=no  ;;
   esac
   library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
   finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
@@ -9354,7 +9355,7 @@
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<EOF
-#line 9357 "configure"
+#line 9358 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -9452,7 +9453,7 @@
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<EOF
-#line 9455 "configure"
+#line 9456 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -10950,12 +10951,12 @@
 	;;
       pgCC*)
         # Portland Group C++ compiler
-	archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib'
-  	archive_expsym_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib'
+	archive_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib'
+  	archive_expsym_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib'
 
 	hardcode_libdir_flag_spec_CXX='${wl}--rpath ${wl}$libdir'
 	export_dynamic_flag_spec_CXX='${wl}--export-dynamic'
-	whole_archive_flag_spec_CXX=''
+	whole_archive_flag_spec_CXX='${wl}--whole-archive,`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive'
         ;;
       cxx*)
 	# Compaq C++
@@ -11704,11 +11705,11 @@
    -e 's:.*FLAGS}? :&$lt_compiler_flag :; t' \
    -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:11707: $lt_compile\"" >&5)
+   (eval echo "\"\$as_me:11708: $lt_compile\"" >&5)
    (eval "$lt_compile" 2>conftest.err)
    ac_status=$?
    cat conftest.err >&5
-   echo "$as_me:11711: \$? = $ac_status" >&5
+   echo "$as_me:11712: \$? = $ac_status" >&5
    if (exit $ac_status) && test -s "$ac_outfile"; then
      # The compiler can only warn and ignore the option if not recognized
      # So say no if there are warnings other than the usual output.
@@ -11766,11 +11767,11 @@
    -e 's:.*FLAGS}? :&$lt_compiler_flag :; t' \
    -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:11769: $lt_compile\"" >&5)
+   (eval echo "\"\$as_me:11770: $lt_compile\"" >&5)
    (eval "$lt_compile" 2>out/conftest.err)
    ac_status=$?
    cat out/conftest.err >&5
-   echo "$as_me:11773: \$? = $ac_status" >&5
+   echo "$as_me:11774: \$? = $ac_status" >&5
    if (exit $ac_status) && test -s out/conftest2.$ac_objext
    then
      # The compiler can only warn and ignore the option if not recognized
@@ -12279,7 +12280,7 @@
 
   # Append ld.so.conf contents to the search path
   if test -f /etc/ld.so.conf; then
-    lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;s/[:,\t]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '`
+    lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;s/[:,	]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '`
     sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
   fi
 
@@ -12344,8 +12345,8 @@
   need_lib_prefix=no
   # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs.
   case $host_os in
-    openbsd3.3 | openbsd3.3.*)	need_version=yes ;;
-    *)				need_version=no  ;;
+    openbsd3.3 | openbsd3.3.*) need_version=yes ;;
+    *)                         need_version=no  ;;
   esac
   library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
   finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
@@ -13135,7 +13136,7 @@
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<EOF
-#line 13138 "configure"
+#line 13139 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -13233,7 +13234,7 @@
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<EOF
-#line 13236 "configure"
+#line 13237 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -14118,11 +14119,11 @@
    -e 's:.*FLAGS}? :&$lt_compiler_flag :; t' \
    -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:14121: $lt_compile\"" >&5)
+   (eval echo "\"\$as_me:14122: $lt_compile\"" >&5)
    (eval "$lt_compile" 2>conftest.err)
    ac_status=$?
    cat conftest.err >&5
-   echo "$as_me:14125: \$? = $ac_status" >&5
+   echo "$as_me:14126: \$? = $ac_status" >&5
    if (exit $ac_status) && test -s "$ac_outfile"; then
      # The compiler can only warn and ignore the option if not recognized
      # So say no if there are warnings other than the usual output.
@@ -14180,11 +14181,11 @@
    -e 's:.*FLAGS}? :&$lt_compiler_flag :; t' \
    -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:14183: $lt_compile\"" >&5)
+   (eval echo "\"\$as_me:14184: $lt_compile\"" >&5)
    (eval "$lt_compile" 2>out/conftest.err)
    ac_status=$?
    cat out/conftest.err >&5
-   echo "$as_me:14187: \$? = $ac_status" >&5
+   echo "$as_me:14188: \$? = $ac_status" >&5
    if (exit $ac_status) && test -s out/conftest2.$ac_objext
    then
      # The compiler can only warn and ignore the option if not recognized
@@ -14395,11 +14396,12 @@
 	tmp_addflag=
 	case $cc_basename,$host_cpu in
 	pgcc*)				# Portland Group C compiler
-	  whole_archive_flag_spec_F77=
+	  whole_archive_flag_spec_F77='${wl}--whole-archive,`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive'
+	  tmp_addflag=' $pic_flag'
 	  ;;
 	pgf77* | pgf90* )			# Portland Group f77 and f90 compilers
-	  whole_archive_flag_spec_F77=
-	  tmp_addflag=' -fpic -Mnomain' ;;
+	  whole_archive_flag_spec_F77='${wl}--whole-archive,`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive'
+	  tmp_addflag=' $pic_flag -Mnomain' ;;
 	ecc*,ia64* | icc*,ia64*)		# Intel C compiler on ia64
 	  tmp_addflag=' -i_dynamic' ;;
 	efc*,ia64* | ifort*,ia64*)	# Intel Fortran compiler on ia64
@@ -15543,7 +15545,7 @@
 
   # Append ld.so.conf contents to the search path
   if test -f /etc/ld.so.conf; then
-    lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;s/[:,\t]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '`
+    lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;s/[:,	]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '`
     sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
   fi
 
@@ -15608,8 +15610,8 @@
   need_lib_prefix=no
   # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs.
   case $host_os in
-    openbsd3.3 | openbsd3.3.*)	need_version=yes ;;
-    *)				need_version=no  ;;
+    openbsd3.3 | openbsd3.3.*) need_version=yes ;;
+    *)                         need_version=no  ;;
   esac
   library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
   finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
@@ -16305,11 +16307,11 @@
    -e 's:.*FLAGS}? :&$lt_compiler_flag :; t' \
    -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:16308: $lt_compile\"" >&5)
+   (eval echo "\"\$as_me:16310: $lt_compile\"" >&5)
    (eval "$lt_compile" 2>conftest.err)
    ac_status=$?
    cat conftest.err >&5
-   echo "$as_me:16312: \$? = $ac_status" >&5
+   echo "$as_me:16314: \$? = $ac_status" >&5
    if (exit $ac_status) && test -s "$ac_outfile"; then
      # The compiler can only warn and ignore the option if not recognized
      # So say no if there are warnings other than the usual output.
@@ -16567,11 +16569,11 @@
    -e 's:.*FLAGS}? :&$lt_compiler_flag :; t' \
    -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:16570: $lt_compile\"" >&5)
+   (eval echo "\"\$as_me:16572: $lt_compile\"" >&5)
    (eval "$lt_compile" 2>conftest.err)
    ac_status=$?
    cat conftest.err >&5
-   echo "$as_me:16574: \$? = $ac_status" >&5
+   echo "$as_me:16576: \$? = $ac_status" >&5
    if (exit $ac_status) && test -s "$ac_outfile"; then
      # The compiler can only warn and ignore the option if not recognized
      # So say no if there are warnings other than the usual output.
@@ -16629,11 +16631,11 @@
    -e 's:.*FLAGS}? :&$lt_compiler_flag :; t' \
    -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:16632: $lt_compile\"" >&5)
+   (eval echo "\"\$as_me:16634: $lt_compile\"" >&5)
    (eval "$lt_compile" 2>out/conftest.err)
    ac_status=$?
    cat out/conftest.err >&5
-   echo "$as_me:16636: \$? = $ac_status" >&5
+   echo "$as_me:16638: \$? = $ac_status" >&5
    if (exit $ac_status) && test -s out/conftest2.$ac_objext
    then
      # The compiler can only warn and ignore the option if not recognized
@@ -16844,11 +16846,12 @@
 	tmp_addflag=
 	case $cc_basename,$host_cpu in
 	pgcc*)				# Portland Group C compiler
-	  whole_archive_flag_spec_GCJ=
+	  whole_archive_flag_spec_GCJ='${wl}--whole-archive,`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive'
+	  tmp_addflag=' $pic_flag'
 	  ;;
 	pgf77* | pgf90* )			# Portland Group f77 and f90 compilers
-	  whole_archive_flag_spec_GCJ=
-	  tmp_addflag=' -fpic -Mnomain' ;;
+	  whole_archive_flag_spec_GCJ='${wl}--whole-archive,`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive'
+	  tmp_addflag=' $pic_flag -Mnomain' ;;
 	ecc*,ia64* | icc*,ia64*)		# Intel C compiler on ia64
 	  tmp_addflag=' -i_dynamic' ;;
 	efc*,ia64* | ifort*,ia64*)	# Intel Fortran compiler on ia64
@@ -18012,7 +18015,7 @@
 
   # Append ld.so.conf contents to the search path
   if test -f /etc/ld.so.conf; then
-    lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;s/[:,\t]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '`
+    lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;s/[:,	]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '`
     sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
   fi
 
@@ -18077,8 +18080,8 @@
   need_lib_prefix=no
   # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs.
   case $host_os in
-    openbsd3.3 | openbsd3.3.*)	need_version=yes ;;
-    *)				need_version=no  ;;
+    openbsd3.3 | openbsd3.3.*) need_version=yes ;;
+    *)                         need_version=no  ;;
   esac
   library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
   finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
@@ -18868,7 +18871,7 @@
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<EOF
-#line 18871 "configure"
+#line 18874 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -18966,7 +18969,7 @@
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<EOF
-#line 18969 "configure"
+#line 18972 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -21232,7 +21235,7 @@
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<EOF
-#line 21235 "configure"
+#line 21238 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
Index: kaffe/libraries/javalib/Makefile.am
diff -u kaffe/libraries/javalib/Makefile.am:1.356 kaffe/libraries/javalib/Makefile.am:1.357
--- kaffe/libraries/javalib/Makefile.am:1.356	Sat May 21 15:13:36 2005
+++ kaffe/libraries/javalib/Makefile.am	Thu May 26 10:24:26 2005
@@ -365,6 +365,7 @@
 	com/jcraft/jzlib/ZStream.java \
 	com/jcraft/jzlib/ZStreamException.java
 gnu_CORBA_SRCS = \
+	gnu/CORBA/Asynchron.java \
 	gnu/CORBA/BigDecimalHelper.java \
 	gnu/CORBA/ByteArrayComparator.java \
 	gnu/CORBA/Connected_objects.java \
@@ -376,6 +377,7 @@
 	gnu/CORBA/ObjectCreator.java \
 	gnu/CORBA/OctetHolder.java \
 	gnu/CORBA/Restricted_ORB.java \
+	gnu/CORBA/ServiceDetailHolder.java \
 	gnu/CORBA/Simple_delegate.java \
 	gnu/CORBA/TypeCodeHelper.java \
 	gnu/CORBA/Unexpected.java \
@@ -404,7 +406,8 @@
 	gnu/CORBA/streamRequest.java \
 	gnu/CORBA/stringTypeCode.java \
 	gnu/CORBA/stubFinder.java \
-	gnu/CORBA/typeNamer.java
+	gnu/CORBA/typeNamer.java \
+	gnu/CORBA/universalHolder.java
 gnu_CORBA_CDR_SRCS = \
 	gnu/CORBA/CDR/aligningInputStream.java \
 	gnu/CORBA/CDR/aligningOutputStream.java \
@@ -4287,6 +4290,7 @@
 	org/omg/CORBA/Current.java \
 	org/omg/CORBA/CurrentOperations.java \
 	org/omg/CORBA/DATA_CONVERSION.java \
+	org/omg/CORBA/DefinitionKind.java \
 	org/omg/CORBA/DomainManager.java \
 	org/omg/CORBA/DomainManagerOperations.java \
 	org/omg/CORBA/DoubleHolder.java \
@@ -4299,6 +4303,7 @@
 	org/omg/CORBA/DynSequence.java \
 	org/omg/CORBA/DynStruct.java \
 	org/omg/CORBA/DynUnion.java \
+	org/omg/CORBA/DynamicImplementation.java \
 	org/omg/CORBA/Environment.java \
 	org/omg/CORBA/ExceptionList.java \
 	org/omg/CORBA/FREE_MEM.java \
@@ -4308,6 +4313,7 @@
 	org/omg/CORBA/FloatSeqHolder.java \
 	org/omg/CORBA/IDLEntity.java \
 	org/omg/CORBA/IDLType.java \
+	org/omg/CORBA/IDLTypeOperations.java \
 	org/omg/CORBA/IMP_LIMIT.java \
 	org/omg/CORBA/INITIALIZE.java \
 	org/omg/CORBA/INTERNAL.java \
@@ -4317,6 +4323,8 @@
 	org/omg/CORBA/INV_IDENT.java \
 	org/omg/CORBA/INV_OBJREF.java \
 	org/omg/CORBA/INV_POLICY.java \
+	org/omg/CORBA/IRObject.java \
+	org/omg/CORBA/IRObjectOperations.java \
 	org/omg/CORBA/IntHolder.java \
 	org/omg/CORBA/LongHolder.java \
 	org/omg/CORBA/LongLongSeqHelper.java \
@@ -4351,6 +4359,12 @@
 	org/omg/CORBA/Principal.java \
 	org/omg/CORBA/PrincipalHolder.java \
 	org/omg/CORBA/Request.java \
+	org/omg/CORBA/ServerRequest.java \
+	org/omg/CORBA/ServiceDetail.java \
+	org/omg/CORBA/ServiceDetailHelper.java \
+	org/omg/CORBA/ServiceInformation.java \
+	org/omg/CORBA/ServiceInformationHelper.java \
+	org/omg/CORBA/ServiceInformationHolder.java \
 	org/omg/CORBA/SetOverrideType.java \
 	org/omg/CORBA/ShortHolder.java \
 	org/omg/CORBA/ShortSeqHelper.java \
@@ -4381,6 +4395,8 @@
 	org/omg/CORBA/VM_CUSTOM.java \
 	org/omg/CORBA/VM_NONE.java \
 	org/omg/CORBA/VM_TRUNCATABLE.java \
+	org/omg/CORBA/ValueBaseHelper.java \
+	org/omg/CORBA/ValueBaseHolder.java \
 	org/omg/CORBA/ValueMember.java \
 	org/omg/CORBA/WCharSeqHelper.java \
 	org/omg/CORBA/WCharSeqHolder.java \
@@ -4411,7 +4427,8 @@
 	org/omg/CORBA/portable/ResponseHandler.java \
 	org/omg/CORBA/portable/ServantObject.java \
 	org/omg/CORBA/portable/Streamable.java \
-	org/omg/CORBA/portable/UnknownException.java
+	org/omg/CORBA/portable/UnknownException.java \
+	org/omg/CORBA/portable/ValueBase.java
 org_omg_CosNaming_SRCS = \
 	org/omg/CosNaming/Binding.java \
 	org/omg/CosNaming/BindingHelper.java \
Index: kaffe/libraries/javalib/Makefile.in
diff -u kaffe/libraries/javalib/Makefile.in:1.446 kaffe/libraries/javalib/Makefile.in:1.447
--- kaffe/libraries/javalib/Makefile.in:1.446	Sat May 21 15:13:37 2005
+++ kaffe/libraries/javalib/Makefile.in	Thu May 26 10:24:27 2005
@@ -722,6 +722,7 @@
 	com/jcraft/jzlib/ZStreamException.java
 
 gnu_CORBA_SRCS = \
+	gnu/CORBA/Asynchron.java \
 	gnu/CORBA/BigDecimalHelper.java \
 	gnu/CORBA/ByteArrayComparator.java \
 	gnu/CORBA/Connected_objects.java \
@@ -733,6 +734,7 @@
 	gnu/CORBA/ObjectCreator.java \
 	gnu/CORBA/OctetHolder.java \
 	gnu/CORBA/Restricted_ORB.java \
+	gnu/CORBA/ServiceDetailHolder.java \
 	gnu/CORBA/Simple_delegate.java \
 	gnu/CORBA/TypeCodeHelper.java \
 	gnu/CORBA/Unexpected.java \
@@ -761,7 +763,8 @@
 	gnu/CORBA/streamRequest.java \
 	gnu/CORBA/stringTypeCode.java \
 	gnu/CORBA/stubFinder.java \
-	gnu/CORBA/typeNamer.java
+	gnu/CORBA/typeNamer.java \
+	gnu/CORBA/universalHolder.java
 
 gnu_CORBA_CDR_SRCS = \
 	gnu/CORBA/CDR/aligningInputStream.java \
@@ -4902,6 +4905,7 @@
 	org/omg/CORBA/Current.java \
 	org/omg/CORBA/CurrentOperations.java \
 	org/omg/CORBA/DATA_CONVERSION.java \
+	org/omg/CORBA/DefinitionKind.java \
 	org/omg/CORBA/DomainManager.java \
 	org/omg/CORBA/DomainManagerOperations.java \
 	org/omg/CORBA/DoubleHolder.java \
@@ -4914,6 +4918,7 @@
 	org/omg/CORBA/DynSequence.java \
 	org/omg/CORBA/DynStruct.java \
 	org/omg/CORBA/DynUnion.java \
+	org/omg/CORBA/DynamicImplementation.java \
 	org/omg/CORBA/Environment.java \
 	org/omg/CORBA/ExceptionList.java \
 	org/omg/CORBA/FREE_MEM.java \
@@ -4923,6 +4928,7 @@
 	org/omg/CORBA/FloatSeqHolder.java \
 	org/omg/CORBA/IDLEntity.java \
 	org/omg/CORBA/IDLType.java \
+	org/omg/CORBA/IDLTypeOperations.java \
 	org/omg/CORBA/IMP_LIMIT.java \
 	org/omg/CORBA/INITIALIZE.java \
 	org/omg/CORBA/INTERNAL.java \
@@ -4932,6 +4938,8 @@
 	org/omg/CORBA/INV_IDENT.java \
 	org/omg/CORBA/INV_OBJREF.java \
 	org/omg/CORBA/INV_POLICY.java \
+	org/omg/CORBA/IRObject.java \
+	org/omg/CORBA/IRObjectOperations.java \
 	org/omg/CORBA/IntHolder.java \
 	org/omg/CORBA/LongHolder.java \
 	org/omg/CORBA/LongLongSeqHelper.java \
@@ -4966,6 +4974,12 @@
 	org/omg/CORBA/Principal.java \
 	org/omg/CORBA/PrincipalHolder.java \
 	org/omg/CORBA/Request.java \
+	org/omg/CORBA/ServerRequest.java \
+	org/omg/CORBA/ServiceDetail.java \
+	org/omg/CORBA/ServiceDetailHelper.java \
+	org/omg/CORBA/ServiceInformation.java \
+	org/omg/CORBA/ServiceInformationHelper.java \
+	org/omg/CORBA/ServiceInformationHolder.java \
 	org/omg/CORBA/SetOverrideType.java \
 	org/omg/CORBA/ShortHolder.java \
 	org/omg/CORBA/ShortSeqHelper.java \
@@ -4996,6 +5010,8 @@
 	org/omg/CORBA/VM_CUSTOM.java \
 	org/omg/CORBA/VM_NONE.java \
 	org/omg/CORBA/VM_TRUNCATABLE.java \
+	org/omg/CORBA/ValueBaseHelper.java \
+	org/omg/CORBA/ValueBaseHolder.java \
 	org/omg/CORBA/ValueMember.java \
 	org/omg/CORBA/WCharSeqHelper.java \
 	org/omg/CORBA/WCharSeqHolder.java \
@@ -5030,7 +5046,8 @@
 	org/omg/CORBA/portable/ResponseHandler.java \
 	org/omg/CORBA/portable/ServantObject.java \
 	org/omg/CORBA/portable/Streamable.java \
-	org/omg/CORBA/portable/UnknownException.java
+	org/omg/CORBA/portable/UnknownException.java \
+	org/omg/CORBA/portable/ValueBase.java
 
 org_omg_CosNaming_SRCS = \
 	org/omg/CosNaming/Binding.java \
Index: kaffe/libraries/javalib/all.files
diff -u kaffe/libraries/javalib/all.files:1.129 kaffe/libraries/javalib/all.files:1.130
--- kaffe/libraries/javalib/all.files:1.129	Sat May 21 15:13:38 2005
+++ kaffe/libraries/javalib/all.files	Thu May 26 10:24:30 2005
@@ -78,6 +78,7 @@
 gnu/classpath/VMStackWalker.java
 gnu/classpath/VMSystemProperties.java
 gnu/CORBA/aliasTypeCode.java
+gnu/CORBA/Asynchron.java
 gnu/CORBA/BigDecimalHelper.java
 gnu/CORBA/binaryReply.java
 gnu/CORBA/bufferedResponseHandler.java
@@ -136,6 +137,7 @@
 gnu/CORBA/recordTypeCode.java
 gnu/CORBA/recursiveTypeCode.java
 gnu/CORBA/Restricted_ORB.java
+gnu/CORBA/ServiceDetailHolder.java
 gnu/CORBA/Simple_delegate.java
 gnu/CORBA/streamRequest.java
 gnu/CORBA/stringTypeCode.java
@@ -143,6 +145,7 @@
 gnu/CORBA/TypeCodeHelper.java
 gnu/CORBA/typeNamer.java
 gnu/CORBA/Unexpected.java
+gnu/CORBA/universalHolder.java
 gnu/CORBA/Version.java
 gnu/CORBA/WCharHolder.java
 gnu/CORBA/WStringHolder.java
@@ -3675,11 +3678,13 @@
 org/omg/CORBA/Current.java
 org/omg/CORBA/CurrentOperations.java
 org/omg/CORBA/DATA_CONVERSION.java
+org/omg/CORBA/DefinitionKind.java
 org/omg/CORBA/DomainManager.java
 org/omg/CORBA/DomainManagerOperations.java
 org/omg/CORBA/DoubleHolder.java
 org/omg/CORBA/DoubleSeqHelper.java
 org/omg/CORBA/DoubleSeqHolder.java
+org/omg/CORBA/DynamicImplementation.java
 org/omg/CORBA/DynAny.java
 org/omg/CORBA/DynAnyPackage/Invalid.java
 org/omg/CORBA/DynAnyPackage/InvalidSeq.java
@@ -3700,6 +3705,7 @@
 org/omg/CORBA/FREE_MEM.java
 org/omg/CORBA/IDLEntity.java
 org/omg/CORBA/IDLType.java
+org/omg/CORBA/IDLTypeOperations.java
 org/omg/CORBA/IMP_LIMIT.java
 org/omg/CORBA/INITIALIZE.java
 org/omg/CORBA/INTERNAL.java
@@ -3710,6 +3716,8 @@
 org/omg/CORBA/INV_IDENT.java
 org/omg/CORBA/INV_OBJREF.java
 org/omg/CORBA/INV_POLICY.java
+org/omg/CORBA/IRObject.java
+org/omg/CORBA/IRObjectOperations.java
 org/omg/CORBA/LongHolder.java
 org/omg/CORBA/LongLongSeqHelper.java
 org/omg/CORBA/LongLongSeqHolder.java
@@ -3753,11 +3761,18 @@
 org/omg/CORBA/portable/ServantObject.java
 org/omg/CORBA/portable/Streamable.java
 org/omg/CORBA/portable/UnknownException.java
+org/omg/CORBA/portable/ValueBase.java
 org/omg/CORBA/PrincipalHolder.java
 org/omg/CORBA/Principal.java
 org/omg/CORBA/PRIVATE_MEMBER.java
 org/omg/CORBA/PUBLIC_MEMBER.java
 org/omg/CORBA/Request.java
+org/omg/CORBA/ServerRequest.java
+org/omg/CORBA/ServiceDetailHelper.java
+org/omg/CORBA/ServiceDetail.java
+org/omg/CORBA/ServiceInformationHelper.java
+org/omg/CORBA/ServiceInformationHolder.java
+org/omg/CORBA/ServiceInformation.java
 org/omg/CORBA/SetOverrideType.java
 org/omg/CORBA/ShortHolder.java
 org/omg/CORBA/ShortSeqHelper.java
@@ -3786,6 +3801,8 @@
 org/omg/CORBA/UserException.java
 org/omg/CORBA/UShortSeqHelper.java
 org/omg/CORBA/UShortSeqHolder.java
+org/omg/CORBA/ValueBaseHelper.java
+org/omg/CORBA/ValueBaseHolder.java
 org/omg/CORBA/ValueMember.java
 org/omg/CORBA/VM_ABSTRACT.java
 org/omg/CORBA/VM_CUSTOM.java
===================================================================
Checking out kaffe/libraries/javalib/gnu/CORBA/Asynchron.java
RCS:  /home/cvs/kaffe/kaffe/libraries/javalib/gnu/CORBA/Asynchron.java,v
VERS: 1.1
***************
--- /dev/null	Sun Aug  4 19:57:58 2002
+++ kaffe/libraries/javalib/gnu/CORBA/Asynchron.java	Thu May 26 10:29:53 2005
@@ -0,0 +1,185 @@
+/* Asynchron.java --
+   Copyright (C) 2005 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+02111-1307 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package gnu.CORBA;
+
+import org.omg.CORBA.Request;
+import org.omg.CORBA.WrongTransaction;
+
+import java.util.Iterator;
+import java.util.LinkedList;
+
+/**
+ * Handles the asynchronous dynamic invocations.
+ *
+ * @author Audrius Meskauskas, Lithuania (AudriusA at Bioinformatics.org)
+ */
+public class Asynchron
+{
+  LinkedList sent = new LinkedList();
+
+  /**
+   * Send multiple prepared requests one way, do not caring about the answer.
+   * The messages, containing requests, will be marked, indicating that
+   * the sender is not expecting to get a reply.
+   *
+   * @param requests the prepared array of requests.
+   *
+   * @see Request#send_oneway()
+   */
+  public void send_multiple_requests_oneway(Request[] requests)
+  {
+    for (int i = 0; i < requests.length; i++)
+      {
+        requests [ i ].send_oneway();
+      }
+  }
+
+  /**
+   * Send multiple prepared requests expecting to get a reply. All requests
+   * are send in parallel, each in its own separate thread. When the
+   * reply arrives, it is stored in the agreed fields of the corresponing
+   * request data structure. If this method is called repeatedly,
+   * the new requests are added to the set of the currently sent requests,
+   * but the old set is not discarded.
+   *
+   * @param requests the prepared array of requests.
+   *
+   * @see #poll_next_response()
+   * @see #get_next_response()
+   * @see Request#send_deferred()
+   */
+  public void send_multiple_requests_deferred(Request[] requests)
+  {
+    synchronized (sent)
+      {
+        for (int i = 0; i < requests.length; i++)
+          {
+            sent.add(requests [ i ]);
+
+            // TODO Reuse threads that are instantiated in the method below,
+            // one thread per call.
+            requests [ i ].send_deferred();
+          }
+      }
+  }
+
+  /**
+   * Find if any of the requests that have been previously sent with
+   * {@link #send_multiple_requests_deferred}, have a response yet.
+   *
+   * @return true if there is at least one response to the previously
+   * sent request, false otherwise.
+   */
+  public boolean poll_next_response()
+  {
+    synchronized (sent)
+      {
+        Iterator iter = sent.iterator();
+        Request r;
+        while (iter.hasNext())
+          {
+            r = (Request) iter.next();
+            if (r.poll_response())
+              return true;
+          }
+      }
+    return false;
+  }
+
+  /**
+   * Get the next instance with a response being received. If all currently
+   * sent responses not yet processed, this method pauses till at least one of
+   * them is complete. If there are no requests currently sent, the method
+   * pauses till some request is submitted and the response is received.
+   * This strategy is identical to the one accepted by Suns 1.4 ORB
+   * implementation.
+   *
+   * The returned response is removed from the list of the currently
+   * submitted responses and is never returned again.
+   *
+   * @return the previously sent request that now contains the received
+   * response.
+   *
+   * @throws WrongTransaction If the method was called from the transaction
+   * scope different than the one, used to send the request. The exception
+   * can be raised only if the request is implicitly associated with some
+   * particular transaction.
+   */
+  public Request get_next_response()
+                            throws WrongTransaction
+  {
+    // The hard-coded waiting times for the incremental waiter.
+    // TODO it is possible to write more tricky system where the
+    // requests notify the Asynchron when they are complete.
+    // Wait for 5 ms intially.
+    int wait = 8;
+
+    // Double the waiting time
+    int INC = 2;
+
+    // Do not increase if the waiting time is already over 500 ms.
+    int MAX = 500;
+    while (true)
+      {
+        synchronized (sent)
+          {
+            Iterator iter = sent.iterator();
+            Request r;
+            while (iter.hasNext())
+              {
+                r = (Request) iter.next();
+                if (r.poll_response())
+                {
+                  sent.remove(r);
+                  return r;
+                }
+              }
+          }
+        try
+          {
+            Thread.sleep(wait);
+            if (wait < MAX)
+              wait = wait * INC;
+          }
+        catch (InterruptedException ex)
+          {
+          }
+      }
+  }
+}
Index: kaffe/libraries/javalib/gnu/CORBA/Connected_objects.java
diff -u kaffe/libraries/javalib/gnu/CORBA/Connected_objects.java:1.1 kaffe/libraries/javalib/gnu/CORBA/Connected_objects.java:1.2
--- kaffe/libraries/javalib/gnu/CORBA/Connected_objects.java:1.1	Sun May 15 19:20:10 2005
+++ kaffe/libraries/javalib/gnu/CORBA/Connected_objects.java	Thu May 26 10:24:31 2005
@@ -40,6 +40,7 @@
 
 import java.util.Iterator;
 import java.util.Map;
+import java.util.Set;
 import java.util.TreeMap;
 
 /**
@@ -52,6 +53,48 @@
 public class Connected_objects
 {
   /**
+   * The reference data about the connected object.
+   */
+  public class cObject
+  {
+    /**
+     * Create an initialised instance.
+     */
+    cObject(org.omg.CORBA.Object _object, int _port, byte[] _key)
+    {
+      object = _object;
+      port = _port;
+      key = _key;
+    }
+
+    /**
+     * The object.
+     */
+    public final org.omg.CORBA.Object object;

*** Patch too long, truncated ***




More information about the kaffe mailing list