This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug c++/21240] Deadlock (pthread) in signal handler


------- Additional Comments From szehau at gmail dot com  2005-04-28 02:06 -------
(In reply to comment #1)
> Do you have a testcase?
> On second thought pthreads and mutex lockes and signals are out of the scope
of a compiler, If this is 
> a bug, this is a glibc bug but I really doubt it.

In this case, I need to know whether there is a fucntion that I can use to check
whether a mutex is currently locked.

For example:



void alarmHdl (int sig) {

	// Check whether a mutext is lock here

	bool locked = someFunctionToCheckMutexIsLocked ();

	if (!locked) {
		// other tasks here that might call malloc or free
	}

}


int main () {

	signal (SIGALRM, alarmHdl);

	alarm (5);

	// a big loop

	for (;;) {
		// tasks here might call malloc or free
	}

	return 0;
}

Thanks

-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21240


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]