Overview
Examples
Screenshots
Comparisons
Applications
Download
Documentation
Tutorials
Bazaar
Status & Roadmap
FAQ
Authors & License
Forums
Funding Ultimate++
Search on this site
Search in forums












SourceForge.net Logo
Home » U++ Library support » U++ MT-multithreading and servers » ARM threadind does not work
ARM threadind does not work [message #38426] Sat, 15 December 2012 11:00 Go to previous message
Didier is currently offline  Didier
Messages: 680
Registered: November 2008
Location: France
Contributor
Hi all,

When compiling apps whith 'MT' falg set, the applications get stuck on a mutex:
#1  0x400bd138 in pthread_mutex_lock () from /lib/libpthread.so.0
#2  0x001295e4 in Upp::Mutex::Enter (this=0x50803d) at /users/didier/upp/uppsrc/Core/Mt.h:305
#3  0x00129624 in Upp::Mutex::Lock::Lock (this=0xbeed4b0c, s=...) at /users/didier/upp/uppsrc/Core/Mt.h:353
u#4  0x002a23f4 in Upp::StaticMutex::Initialize (this=0x506118) at /users/didier/upp/uppsrc/Core/Mt.cpp:643
#5  0x00129550 in Upp::StaticMutex::Get (this=0x506118) at /users/didier/upp/uppsrc/Core/Mt.h:380
#6  0x00129580 in Upp::StaticMutex::operator Upp::Mutex& (this=0x506118) at /users/didier/upp/uppsrc/Core/Mt.h:381
#7  0x002e0800 in Upp::AddModule (l=0x3ffa50, name=0x0) at /users/didier/upp/uppsrc/Core/t.cpp:98
#8  0x0000fbb0 in Upp::LNG_MODULE00_fn () at /users/didier/upp/uppsrc/Core/t.h:211
#9  0x0000fc2c in Upp::Callinit::Callinit (this=0x4141dd, fn=0xfb98 <Upp::LNG_MODULE00_fn()>, cpp=0x3479e8 "/users/didier/upp/uppsrc/Core/t.h", line=202)
    at /users/didier/upp/uppsrc/Core/Defs.h:169
#10 0x0000fb18 in __static_initialization_and_destruction_0 (__initialize_p=1, __priority=65535) at /users/didier/upp/uppsrc/Core/t.h:202
#11 0x0000fb70 in global constructors keyed to CtrlLib.icpp(void) () at /users/didier/upp/uppsrc/CtrlLib/CtrlLib.icpp:20
#12 0x003474c0 in __libc_csu_init ()
#13 0x4043efb8 in __libc_start_main () from /lib/libc.so.6
#14 0x0000e338 in _start ()


I will be looking into it this WE but if someone has any idea I would appreciate it.

Apparently it get's stuck when taking the mutex on function start:
void AddModule(const LngEntry__* l, const char *name)
{
	CriticalSection::Lock __(slng);   *********** HERE *************
	Array<LngModule>& ma = sMod();
	LngModule& m = ma.Add();
	m.name = name;
	Vector<LngRec> *lr = NULL;
	while(l->lang) {
		if(l->lang == 1) {
			CharS ids;
			ids.s = l->text;
			lr = &m.map.GetAdd(ids);
			LngRec& r = lr->Add();
			r.lang = LNG_('E','N','U','S');
			r.text = GetENUSc(l->text);
		}
		else
		if(l->text && *l->text) {
			LngRec& r = lr->Add();
			r.lang = l->lang;
			r.text = l->text;
		}
		l++;
	}
}
 
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Previous Topic: TcpSocket issues on XP but not on Win7?
Next Topic: Redirect - possibly another Skylark bug
Goto Forum:
  


Current Time: Fri May 17 04:32:09 CEST 2024

Total time taken to generate the page: 0.02338 seconds