- From: Thomas Dreibholz <dreibh AT irmgard.exp-math.uni-essen.de>
- To: "Marjan Bozinovski" <marjanb AT cpk.auc.dk>, "Thomas Dreibholz" <dreibh AT exp-math.uni-essen.de>, <rsplib-discussion AT sctp.de>
- Subject: Re: [RSPlib-Discusssion] fail-over problems
- Date: Sat Oct 5 16:52:01 2002
- List-id: RSPlib Discussions <rsplib-discussion.sctp.de>
- Organization: University of Essen, Institute for Experimental Mathematics
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
On Freitag, 4. Oktober 2002 18:04, Marjan Bozinovski wrote:
>
> Use this->getName() to get the condition's name, not this->getName (this
>
>
will
>
>
> return the pointer to the getName() function).
>
>
After the final change, this is the debug output:
>
>
--------------------
>
adding parent 0xbfbfb28c (ext_select::GlobalCondition) to 0xbfbfb3a8
>
(ext_select::ReadCondition)adding parent 0xbfbfb28c
>
(ext_select::GlobalCondition) to 0xbfbfb4c4
>
(ext_select::WriteCondition)adding parent 0xbfbfb28c
>
(ext_select::GlobalCondition) to 0xbfbfb5e0
>
(ext_select::ExceptCondition)select: adding FD 0 (0) with mask $0003
>
select: registering user callback for socket 0...
>
adding parent 0xbfbfb3a8 (ext_select::ReadCondition) to 0x80ef208
>
(Condition)Sending Break via break pipe...
>
F0008: User Callback, mask=$1
>
Break via break pipe received
>
Break Pipe: 1 calls
>
select: adding FD 1020 for read
>
Condition for FD 1020, type 0 is 0x8491480
>
adding parent 0xbfbfb3a8 (ext_select::ReadCondition) to 0x8491480
>
(SCTPAssociation::ReadUpdateCondition)select: adding FD 1020 for except
>
Condition for FD 1020, type 2 is 0x84916b8
>
adding parent 0xbfbfb5e0 (ext_select::ExceptCondition) to 0x84916b8
>
(SCTPAssociation::ExceptUpdateCondition)select: adding FD 1021 for read
>
Condition for FD 1021, type 0 is 0x8479480
>
adding parent 0xbfbfb3a8 (ext_select::ReadCondition) to 0x8479480
>
(SCTPAssociation::ReadUpdateCondition)select: waiting...
>
A0003 S00: Data Arrive Notification, Length = 393
>
broadcast: SCTPAssociation::InQueue
>
broadcast: SCTPAssociation::ReadUpdateCondition
>
No parents!
The parent condition seems to be added successfully, but it is not found by
Condition::broadcast(). Either, the condition is wrong (some FD numbering
problem?) or the ParentSet structure is corrupted.
Go to condition.cc, Condition::broadcast() and add the following;
Fired = true;
// ------ Add this
printf("broadcast for %p (%s)\n",(void*)this,this->getName());
// ------
pthread_cond_broadcast(&ConditionVariable);
Have you ensured that all the sources are compiled with -D_REENTRANT and
- -pthread option?
Best regards
- --
=======================================================================
Dipl.-Inform. Thomas Dreibholz
Molbachweg 7
D-51674 Wiehl-Forst Mail:
dreibh AT exp-math.uni-essen.de
Germany WWW:
http://www.exp-math.uni-essen.de/~dreibh
=======================================================================
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.0.6 (GNU/Linux)
Comment: For info see
http://www.gnupg.org
iD8DBQE9nvxR32BbsHYPLWURAtLOAJ9zlVxVFPFveRP1yNH35vruIbL9iACfW2J4
lr8AVBdXGz/fMGkfxzsEzRs=
=DmyN
-----END PGP SIGNATURE-----
Archive powered by MHonArc 2.6.19+.