Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Mutex.h
00001 /* 00002 * Copyright (c) , Arm Limited and affiliates. 00003 * SPDX-License-Identifier: Apache-2.0 00004 * 00005 * Licensed under the Apache License, Version 2.0 (the "License"); 00006 * you may not use this file except in compliance with the License. 00007 * You may obtain a copy of the License at 00008 * 00009 * http://www.apache.org/licenses/LICENSE-2.0 00010 * 00011 * Unless required by applicable law or agreed to in writing, software 00012 * distributed under the License is distributed on an "AS IS" BASIS, 00013 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 00014 * See the License for the specific language governing permissions and 00015 * limitations under the License. 00016 */ 00017 #ifndef __MUTEX_H__ 00018 #define __MUTEX_H__ 00019 00020 #include <inttypes.h> 00021 #include "cmsis_os2.h" 00022 00023 namespace rtos { 00024 00025 class Mutex { 00026 public: 00027 Mutex(); 00028 00029 Mutex(const char *name); 00030 00031 osStatus lock(uint32_t millisec=osWaitForever); 00032 00033 bool trylock(); 00034 00035 bool trylock_for(uint32_t millisec); 00036 00037 bool trylock_until(uint64_t millisec); 00038 00039 osStatus unlock(); 00040 00041 osThreadId_t get_owner(); 00042 00043 ~Mutex(); 00044 }; 00045 00046 } 00047 00048 #endif
Generated on Tue Aug 9 2022 00:37:16 by
1.7.2