rpms/ruby-qpid/F-11 ruby.patch,NONE,1.1 ruby-qpid.spec,1.11,1.12

Nuno Santos nsantos at fedoraproject.org
Tue May 5 16:48:14 UTC 2009


Author: nsantos

Update of /cvs/extras/rpms/ruby-qpid/F-11
In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv1914

Modified Files:
	ruby-qpid.spec 
Added Files:
	ruby.patch 
Log Message:
patch for SASL credentials refresh

ruby.patch:

--- NEW FILE ruby.patch ---
diff -up lib/qpid/framer.rb.orig lib/qpid/framer.rb
--- lib/qpid/framer.rb.orig	2009-05-04 16:27:09.000000000 -0400
+++ lib/qpid/framer.rb	2009-05-04 16:28:11.000000000 -0400
@@ -137,6 +137,8 @@ module Qpid
         @tx_buf = ""
         frm.debug("FLUSHED") if frm
       end
+    rescue
+      @sock.close unless @sock.closed?
     end
 
     def _write(buf)
diff -up lib/qpid/qmf.rb.orig lib/qpid/qmf.rb
--- lib/qpid/qmf.rb.orig	2009-01-20 16:26:28.000000000 -0500
+++ lib/qpid/qmf.rb	2009-05-04 16:28:11.000000000 -0400
@@ -247,7 +247,7 @@ module Qpid::Qmf
         args = { :exchange => "qpid.management",
           :queue => broker.topic_name,
           :binding_key => "console.obj.*.*.#{package_name}.#" }
-        broker.amqpSession.exchange_bind(args)
+        broker.amqp_session.exchange_bind(args)
       end
     end
 
@@ -259,7 +259,7 @@ module Qpid::Qmf
         args = { :exchange => "qpid.management",
           :queue => broker.topic_name,
           :binding_key=> "console.obj.*.*.#{package_name}.#{class_name}.#" }
-        broker.amqpSession.exchange_bind(args)
+        broker.amqp_session.exchange_bind(args)
       end
     end
 
@@ -272,7 +272,7 @@ module Qpid::Qmf
         args = { :exchange => "qpid.management",
           :queue => broker.topic_name,
           :binding_key => "console.obj.*.*.#{pname}.#{cname}.#" }
-        broker.amqpSession.exchange_bind(args)
+        broker.amqp_session.exchange_bind(args)
       end
     end
 
@@ -329,19 +329,21 @@ module Qpid::Qmf
         unless broker_list.include?(agent.broker)
           raise ArgumentError, "Supplied agent is not accessible through the supplied broker"
         end
-        agent_list << agent
+        agent_list << agent if agent.broker.connected?
       else
         if kwargs.include?(:object_id)
           oid = kwargs[:object_id]
           broker_list.each { |broker|
             broker.agents.each { |agent|
               if oid.broker_bank == agent.broker_bank && oid.agent_bank == agent.agent_bank
-                agent_list << agent
+                agent_list << agent if agent.broker.connected?
               end
             }
           }
         else
-          broker_list.each { |broker| agent_list += broker.agents }
+          broker_list.each { |broker|
+            agent_list += broker.agents if broker.connected?
+          }
         end
       end
 
@@ -600,8 +602,8 @@ module Qpid::Qmf
     def handle_broker_disconnect(broker); end
 
     def handle_error(error)
-      @error = error
       synchronize do
+        @error = error if @sync_sequence_list.length > 0
         @sync_sequence_list = []
         @cv.signal
       end
@@ -1179,7 +1181,7 @@ module Qpid::Qmf
               end
             end
 
-          rescue Qpid::Session::Closed, Qpid::Session::Detached, SystemCallError
+          rescue
             delay *= DELAY_FACTOR if delay < DELAY_MAX
           end
 
@@ -1214,6 +1216,7 @@ module Qpid::Qmf
   class Broker
 
     SYNC_TIME = 60
+    @@next_seq = 1
 
     include MonitorMixin
 
@@ -1237,17 +1240,13 @@ module Qpid::Qmf
       @auth_mechanism = kwargs[:mechanism]
       @auth_service = kwargs[:service]
       @broker_bank = 1
-      @agents   = {}
-      @agents["1.0"] = Agent.new(self, 0, "BrokerAgent")
       @topic_bound = false
       @cv = new_cond
-      @sync_in_flight = false
-      @sync_request = 0
-      @sync_result = nil
-      @reqs_outstanding = 1
-      @error     = nil
-      @broker_id  = nil
+      @error = nil
+      @broker_id = nil
       @is_connected = false
+      @amqp_session_id = "%s.%d.%d" % [Socket.gethostname, Process::pid, @@next_seq]
+      @@next_seq += 1
       @conn = nil
       if @session.managedConnections?
         @thread = ManagedConnection.new(self)
@@ -1292,6 +1291,7 @@ module Qpid::Qmf
 
     def wait_for_stable
       synchronize do
+        return unless connected?
         return if @reqs_outstanding == 0
         @sync_in_flight = true
         unless @cv.wait_for(SYNC_TIME) { @reqs_outstanding == 0 }
@@ -1387,8 +1387,14 @@ module Qpid::Qmf
     end
 
     def try_to_connect
-      #begin
-      @amqp_session_id = "%s.%d" % [Socket.gethostname, Process::pid]
+      @agents = {}
+      @agents["1.0"] = Agent.new(self, 0, "BrokerAgent")
+      @topic_bound = false
+      @sync_in_flight = false
+      @sync_request = 0
+      @sync_result = nil
+      @reqs_outstanding = 1
+
       # FIXME: Need sth for Qpid::Util::connect
 
       @conn = Qpid::Connection.new(TCPSocket.new(@host, @port),
diff -up lib/qpid/session.rb.orig lib/qpid/session.rb
--- lib/qpid/session.rb.orig	2009-05-04 16:26:59.000000000 -0400
+++ lib/qpid/session.rb	2009-05-04 16:28:11.000000000 -0400
@@ -114,7 +114,7 @@ module Qpid
         end
       end
       if error?
-        raise Qpid::Session::Exception, exceptions
+        raise Qpid::Session::Exception, @exceptions
       end
     end
 


Index: ruby-qpid.spec
===================================================================
RCS file: /cvs/extras/rpms/ruby-qpid/F-11/ruby-qpid.spec,v
retrieving revision 1.11
retrieving revision 1.12
diff -u -p -r1.11 -r1.12
--- ruby-qpid.spec	19 Mar 2009 18:54:42 -0000	1.11
+++ ruby-qpid.spec	5 May 2009 16:47:44 -0000	1.12
@@ -1,6 +1,6 @@
 Name:           ruby-qpid
 Version: 	0.5.752600
-Release:        1%{?dist}
+Release:        2%{?dist}
 Summary:        Ruby language client for AMQP
 
 Group:          Development/Ruby
@@ -10,6 +10,7 @@ Source0:        %{name}-%{version}.tar.g
 # svn export http://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid/ruby \
 #  ruby-qpid
 # tar czf ruby-qpid.tar.gz ruby-qpid
+Patch:	        ruby.patch
 BuildRoot:      %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
 
 %{!?ruby_sitelib: %define ruby_sitelib %(ruby -rrbconfig  -e 'puts Config::CONFIG["sitelibdir"]')}
@@ -37,6 +38,7 @@ The Apache Qpid project's Ruby language 
 
 %prep
 %setup -q -n %{name}-%{version}
+%patch
 
 %build
 rake build
@@ -65,6 +67,9 @@ rm -rf $RPM_BUILD_ROOT
 %doc LICENSE.txt NOTICE.txt RELEASE_NOTES
 
 %changelog
+* Mon May  4 2009 Nuno Santos <nsantos at redhat.com> - 0.5.752600-2
+- patch for SASL credentials refresh
+
 * Thu Mar 19 2009 Nuno Santos <nsantos at redhat.com> - 0.5.752600-1
 - Rebased to svn rev 752600
 




More information about the scm-commits mailing list