Hi, resip
anyone can fix this bug?
======== 2006-10-19 01:11:28
========
hi
maodonghu,
well, i'm sorry , i doesn't careful
inspection with your question, that is
a bug with the code, em. may be appStats can move
into static global area. I think that appStats can initialize first. may be to avert the
thread safe issue. btw,
why you use multi-stack in your process ?
sincerely, jinti
在06-10-18, maodonghu <hhmmdd@xxxxxxx> 写道:
Hi, shen
jinti
By the way, I use Pentinum D, it has 2
CPU, so the exception may be easy to
encounter.
======== 2006-10-18 10:37:34
========
hi
maodonghu,
you must compile
with /MD or /MT option in you all
project.
jinti
在06-10-18,maodonghu <
hhmmdd@xxxxxxx> 写道:
hi,
I
found my multi-thread program that using resiprocate will
crashed sometimes when startup, the place is
void StatisticsMessage::AtomicPayload::loadIn(const
Payload& payload) { Lock
lock(mMutex); // --> here cause crash, because the mMutex
may have not finished its constructor yet.
Payload::operator=(payload); }
then I research
the source code, I
found
void StatisticsManager::poll() {
// get snapshot data now.. tuFifoSize =
mStack.mTransactionController.getTuFifoSize();
transportFifoSizeSum =
mStack.mTransactionController.sumTransportFifoSizes();
transactionFifoSize =
mStack.mTransactionController.getTransactionFifoSize();
activeTimers =
mStack.mTransactionController.getTimerQueueSize();
activeClientTransactions =
mStack.mTransactionController.getNumClientTransactions();
activeServerTransactions =
mStack.mTransactionController.getNumServerTransactions();
static StatisticsMessage::AtomicPayload appStats; // -->
here may not thread safe
appStats.loadIn(*this);
// let the app
do what it wants with it
mStack.post(StatisticsMessage(appStats)); }
Because
I have multi-SipStacks in my program, so I have
multi-StackThread, I think the usage of static local
variable here may not thread safe, appStats should be a
static member of class StatisticsManager.
the MSDN
help also tell us:
Note Assigning to a static
local variable is not thread safe and is not recommended as
a programming practice.
maodonghu hhmmdd@xxxxxxx
2006-10-18
_______________________________________________ resiprocate-devel
mailing list resiprocate-devel@xxxxxxxxxxxxxxxxxxx https://list.sipfoundry.org/mailman/listinfo/resiprocate-devel
|
= = = = = = = = = = = = = = = = = = = = = =
maodonghu
2006-10-18
|
= = = = = = = = = = = = = = = = = = = = = =
maodonghu
2006-10-24
|