mirror of https://github.com/ARMmbed/mbed-os.git
				
				
				
			Add name parameter for C++ mutex wrapper
							parent
							
								
									e66f9ee818
								
							
						
					
					
						commit
						0064df1ce6
					
				| 
						 | 
				
			
			@ -27,9 +27,21 @@
 | 
			
		|||
 | 
			
		||||
namespace rtos {
 | 
			
		||||
 | 
			
		||||
Mutex::Mutex() {
 | 
			
		||||
Mutex::Mutex()
 | 
			
		||||
{
 | 
			
		||||
    constructor();
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
Mutex::Mutex(const char *name)
 | 
			
		||||
{
 | 
			
		||||
    constructor(name);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void Mutex::constructor(const char *name)
 | 
			
		||||
{
 | 
			
		||||
    memset(&_obj_mem, 0, sizeof(_obj_mem));
 | 
			
		||||
    memset(&_attr, 0, sizeof(_attr));
 | 
			
		||||
    _attr.name = name ? name : "aplication_unnamed_mutex";
 | 
			
		||||
    _attr.cb_mem = &_obj_mem;
 | 
			
		||||
    _attr.cb_size = sizeof(_obj_mem);
 | 
			
		||||
    _attr.attr_bits = osMutexRecursive;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -43,6 +43,12 @@ public:
 | 
			
		|||
    /** Create and Initialize a Mutex object */
 | 
			
		||||
    Mutex();
 | 
			
		||||
 | 
			
		||||
    /** Create and Initialize a Mutex object
 | 
			
		||||
 | 
			
		||||
     @param name name to be used for this mutex. It has to stay allocated for the lifetime of the thread.
 | 
			
		||||
    */
 | 
			
		||||
    Mutex(const char *name);
 | 
			
		||||
 | 
			
		||||
    /** Wait until a Mutex becomes available.
 | 
			
		||||
      @param   millisec  timeout value or 0 in case of no time-out. (default: osWaitForever)
 | 
			
		||||
      @return  status code that indicates the execution status of the function.
 | 
			
		||||
| 
						 | 
				
			
			@ -62,6 +68,8 @@ public:
 | 
			
		|||
    ~Mutex();
 | 
			
		||||
 | 
			
		||||
private:
 | 
			
		||||
    void constructor(const char *name = NULL);
 | 
			
		||||
 | 
			
		||||
    osMutexId_t               _id;
 | 
			
		||||
    osMutexAttr_t             _attr;
 | 
			
		||||
    mbed_rtos_storage_mutex_t _obj_mem;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue