Bug #399

Allow to "catch" absence of spread-daemon

Added by M. Rolf almost 13 years ago. Updated over 12 years ago.

Status:ResolvedStart date:06/30/2011
Priority:NormalDue date:
Assignee:J. Moringen% Done:

100%

Category:C++
Target version:0.4

Description

Trying to create Listeners without active spread-daemon aborts program.
The attached example program fails with:

1309434238241 rsb.spread.SpreadConnection [FATAL]: spread connect error: connection to spread daemon failed due to socket errors
SP_error: (-2) Could not connect. Is Spread running?
terminate called after throwing an instance of 'rsc::misc::IllegalStateException'
  what():  Connection with id c4872aa2-500b-4e46-b0c4-e69b7c733cdd is not active.
Aborted

Strange things happen in memory as well (see memcheck.log and helgrind.log)

Test.cpp Magnifier - Example C++ Program (574 Bytes) M. Rolf, 06/30/2011 01:55 PM

memcheck.log - Output of 'valgrind --tool=memcheck Test' (8.08 KB) M. Rolf, 06/30/2011 01:55 PM

helgrind.log - Output of 'valgrind --tool=helgrind Test' (2 KB) M. Rolf, 06/30/2011 01:55 PM

Associated revisions

Revision 597a9de2
Added by J. Moringen almost 13 years ago

Do not deactivate things which aren't active in Spread transport
fixes #399 (reported by Matthias Rolf)
  • src/rsb/transport/spread/InConnector.cpp: when deactivating, do not
    try to interrupt connection in receive loop if it is not connected;
    do not wait for the receiver task if the connection is not connected
  • src/rsb/transport/spread/SpreadConnector.cpp: when deactivating, do
    not deactivate the Spread connection unless it really is active

History

#1 Updated by J. Moringen almost 13 years ago

  • Description updated (diff)
  • Assignee set to J. Moringen
  • Target version set to rsb-0.10

#2 Updated by J. Moringen almost 13 years ago

  • Status changed from New to Resolved
  • % Done changed from 0 to 100

Applied in changeset r1909.

#3 Updated by S. Wrede over 12 years ago

  • Target version changed from rsb-0.10 to 0.4

Also available in: Atom PDF