rpms/ruby-qpid/F-10 ruby.patch,NONE,1.1 ruby-qpid.spec,1.14,1.15
Nuno Santos
nsantos at fedoraproject.org
Tue May 5 15:34:33 UTC 2009
Author: nsantos
Update of /cvs/extras/rpms/ruby-qpid/F-10
In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv23184
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-10/ruby-qpid.spec,v
retrieving revision 1.14
retrieving revision 1.15
diff -u -p -r1.14 -r1.15
--- ruby-qpid.spec 19 Mar 2009 19:13:20 -0000 1.14
+++ ruby-qpid.spec 5 May 2009 15:34:03 -0000 1.15
@@ -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