[ create a new paste ] login | about

Link: http://codepad.org/LFbgYVbH    [ raw code | output | fork | 1 comment ]

C++, pasted on Apr 29:
#include <iostream>
#include <pthread.h>

static pthread_mutex_t  M_CREATE_SESSION_LOCK;




/*
 #####################################################################################
 #                                                                                   #
 # MAIN                                                                              #
 #                                                                                   #
 #####################################################################################
 */

int main (int argc, char * const argv[]) {
	
	int error = pthread_mutex_init(&M_CREATE_SESSION_LOCK, NULL);
	std::cout << "ERROR: " << error << "\n";
	
	pthread_mutex_lock(&M_CREATE_SESSION_LOCK);
	pthread_mutex_unlock(&M_CREATE_SESSION_LOCK);
	
	exit(0);
	
	
}


Output:
1
ERROR: 0


Create a new paste based on this one


Comments:
posted by tominko64 on Apr 29
==5702== Helgrind, a thread error detector
==5702== Copyright (C) 2007-2010, and GNU GPL'd, by OpenWorks LLP et al.
==5702== Using Valgrind-3.6.1 and LibVEX; rerun with -h for copyright info
==5702== Command: ./tst
==5702==
--5702-- ./tst:
--5702-- dSYM directory is missing; consider using --dsymutil=yes
==5702== Thread #1 is the program's root thread
==5702==
==5702== Thread #1's call to pthread_mutex_lock failed
==5702== with error code 22 (EINVAL: Invalid argument)
==5702== at 0x1000112F6: pthread_mutex_lock (hg_intercepts.c:499)
==5702== by 0x100109C2D: LockHelper::LockHelper() (in /usr/lib/libSystem.B.dylib)
==5702== by 0x100109BE5: _dyld_register_func_for_remove_image (in /usr/lib/libSystem.B.dylib)
==5702== by 0x100105FAC: __keymgr_initializer (in /usr/lib/libSystem.B.dylib)
==5702== by 0x1001045A7: libSystem_initializer (in /usr/lib/libSystem.B.dylib)
==5702== by 0x7FFF5FC0D4FF: ImageLoaderMachO::doModInitFunctions(ImageLoader::LinkContext const&) (in /usr/lib/dyld)
==5702== by 0x7FFF5FC0BCEB: ImageLoader::recursiveInitialization(ImageLoader::LinkContext const&, unsigned int) (in /usr/lib/dyld)
==5702== by 0x7FFF5FC0BC9C: ImageLoader::recursiveInitialization(ImageLoader::LinkContext const&, unsigned int) (in /usr/lib/dyld)
==5702== by 0x7FFF5FC0BDA5: ImageLoader::runInitializers(ImageLoader::LinkContext const&) (in /usr/lib/dyld)
==5702== by 0x7FFF5FC020EE: dyld::initializeMainExecutable() (in /usr/lib/dyld)
==5702== by 0x7FFF5FC06980: dyld::_main(macho_header const*, unsigned long, int, char const**, char const**, char const**) (in /usr/lib/dyld)
==5702== by 0x7FFF5FC016D1: dyldbootstrap::start(macho_header const*, int, char const**, long) (in /usr/lib/dyld)
==5702==
==5702== Thread #1 unlocked an invalid lock at 0x1002E17C0
==5702== at 0x1000116DA: pthread_mutex_unlock (hg_intercepts.c:610)
==5702== by 0x100109C13: _dyld_register_func_for_remove_image (in /usr/lib/libSystem.B.dylib)
==5702== by 0x100105FAC: __keymgr_initializer (in /usr/lib/libSystem.B.dylib)
==5702== by 0x1001045A7: libSystem_initializer (in /usr/lib/libSystem.B.dylib)
==5702== by 0x7FFF5FC0D4FF: ImageLoaderMachO::doModInitFunctions(ImageLoader::LinkContext const&) (in /usr/lib/dyld)
==5702== by 0x7FFF5FC0BCEB: ImageLoader::recursiveInitialization(ImageLoader::LinkContext const&, unsigned int) (in /usr/lib/dyld)
==5702== by 0x7FFF5FC0BC9C: ImageLoader::recursiveInitialization(ImageLoader::LinkContext const&, unsigned int) (in /usr/lib/dyld)
==5702== by 0x7FFF5FC0BDA5: ImageLoader::runInitializers(ImageLoader::LinkContext const&) (in /usr/lib/dyld)
==5702== by 0x7FFF5FC020EE: dyld::initializeMainExecutable() (in /usr/lib/dyld)
==5702== by 0x7FFF5FC06980: dyld::_main(macho_header const*, unsigned long, int, char const**, char const**, char const**) (in /usr/lib/dyld)
==5702== by 0x7FFF5FC016D1: dyldbootstrap::start(macho_header const*, int, char const**, long) (in /usr/lib/dyld)
==5702== by 0x7FFF5FC01051: _dyld_start (in /usr/lib/dyld)
==5702==
==5702== Thread #1's call to pthread_mutex_unlock failed
==5702== with error code 22 (EINVAL: Invalid argument)
==5702== at 0x1000117D0: pthread_mutex_unlock (hg_intercepts.c:619)
==5702== by 0x100109C13: _dyld_register_func_for_remove_image (in /usr/lib/libSystem.B.dylib)
==5702== by 0x100105FAC: __keymgr_initializer (in /usr/lib/libSystem.B.dylib)
==5702== by 0x1001045A7: libSystem_initializer (in /usr/lib/libSystem.B.dylib)
==5702== by 0x7FFF5FC0D4FF: ImageLoaderMachO::doModInitFunctions(ImageLoader::LinkContext const&) (in /usr/lib/dyld)
==5702== by 0x7FFF5FC0BCEB: ImageLoader::recursiveInitialization(ImageLoader::LinkContext const&, unsigned int) (in /usr/lib/dyld)
==5702== by 0x7FFF5FC0BC9C: ImageLoader::recursiveInitialization(ImageLoader::LinkContext const&, unsigned int) (in /usr/lib/dyld)
==5702== by 0x7FFF5FC0BDA5: ImageLoader::runInitializers(ImageLoader::LinkContext const&) (in /usr/lib/dyld)
==5702== by 0x7FFF5FC020EE: dyld::initializeMainExecutable() (in /usr/lib/dyld)
==5702== by 0x7FFF5FC06980: dyld::_main(macho_header const*, unsigned long, int, char const**, char const**, char const**) (in /usr/lib/dyld)
==5702== by 0x7FFF5FC016D1: dyldbootstrap::start(macho_header const*, int, char const**, long) (in /usr/lib/dyld)
==5702== by 0x7FFF5FC01051: _dyld_start (in /usr/lib/dyld)
==5702==
ERROR: 0
==5702==
==5702== For counts of detected and suppressed errors, rerun with: -v
==5702== Use --history-level=approx or =none to gain increased speed, at
==5702== the cost of reduced accuracy of conflicting-access information
==5702== ERROR SUMMARY: 3 errors from 3 contexts (suppressed: 0 from 0)

reply