summaryrefslogtreecommitdiff
path: root/lcmodule/source/cnh1605551_ldr_utilities
diff options
context:
space:
mode:
Diffstat (limited to 'lcmodule/source/cnh1605551_ldr_utilities')
-rw-r--r--[-rwxr-xr-x]lcmodule/source/cnh1605551_ldr_utilities/critical_section/critical_section.c10
-rw-r--r--[-rwxr-xr-x]lcmodule/source/cnh1605551_ldr_utilities/critical_section/critical_section_linux.c12
-rw-r--r--[-rwxr-xr-x]lcmodule/source/cnh1605551_ldr_utilities/critical_section/critical_section_win32.c13
-rw-r--r--[-rwxr-xr-x]lcmodule/source/cnh1605551_ldr_utilities/critical_section/t_critical_section.h0
4 files changed, 25 insertions, 10 deletions
diff --git a/lcmodule/source/cnh1605551_ldr_utilities/critical_section/critical_section.c b/lcmodule/source/cnh1605551_ldr_utilities/critical_section/critical_section.c
index 126d3e7..b6dafd3 100755..100644
--- a/lcmodule/source/cnh1605551_ldr_utilities/critical_section/critical_section.c
+++ b/lcmodule/source/cnh1605551_ldr_utilities/critical_section/critical_section.c
@@ -39,10 +39,12 @@
*/
CriticalSection_t Do_CriticalSection_Create(void)
{
- uint32 *cs = (uint32*)malloc(sizeof(uint32));
+ uint32 *cs = (uint32 *)malloc(sizeof(uint32));
+
if (NULL != cs) {
*cs = CS_UNLOCKED;
}
+
return cs;
}
@@ -58,7 +60,7 @@ CriticalSection_t Do_CriticalSection_Create(void)
*/
void Do_CriticalSection_Destroy(CriticalSection_t *CriticalSectionObject)
{
- uint32** cs = (uint32**)CriticalSectionObject;
+ uint32 **cs = (uint32 **)CriticalSectionObject;
if (NULL != *cs) {
free(*cs);
@@ -80,9 +82,11 @@ void Do_CriticalSection_Destroy(CriticalSection_t *CriticalSectionObject)
boolean Do_CriticalSection_Enter(CriticalSection_t CriticalSectionObject)
{
volatile uint32 *cs = (volatile uint32 *)CriticalSectionObject;
+
if (NULL != cs) {
uint32 cs_status = CS_LOCKED;
cs_status = Do_Atomic_CompareAndSwap(cs, CS_UNLOCKED, CS_LOCKED);
+
if (CS_UNLOCKED == cs_status) {
return TRUE;
} else {
@@ -108,9 +112,11 @@ boolean Do_CriticalSection_Enter(CriticalSection_t CriticalSectionObject)
void Do_CriticalSection_Leave(CriticalSection_t CriticalSectionObject)
{
volatile uint32 *cs = (volatile uint32 *)CriticalSectionObject;
+
if (NULL != cs) {
uint32 cs_status = CS_UNLOCKED;
cs_status = Do_Atomic_CompareAndSwap(cs, CS_LOCKED, CS_UNLOCKED);
+
if (CS_LOCKED == cs_status) {
/* SUCCESS */
} else {
diff --git a/lcmodule/source/cnh1605551_ldr_utilities/critical_section/critical_section_linux.c b/lcmodule/source/cnh1605551_ldr_utilities/critical_section/critical_section_linux.c
index 0114a47..0a43a31 100755..100644
--- a/lcmodule/source/cnh1605551_ldr_utilities/critical_section/critical_section_linux.c
+++ b/lcmodule/source/cnh1605551_ldr_utilities/critical_section/critical_section_linux.c
@@ -39,10 +39,11 @@
CriticalSection_t Do_CriticalSection_Create(void)
{
int result = -1;
- pthread_mutex_t* cs = (pthread_mutex_t*)malloc(sizeof(pthread_mutex_t));
+ pthread_mutex_t *cs = (pthread_mutex_t *)malloc(sizeof(pthread_mutex_t));
if (NULL != cs) {
result = pthread_mutex_init(cs, NULL);
+
if (0 != result) {
free(cs);
cs = NULL;
@@ -64,10 +65,11 @@ CriticalSection_t Do_CriticalSection_Create(void)
*/
void Do_CriticalSection_Destroy(CriticalSection_t *CriticalSectionObject)
{
- pthread_mutex_t** cs = (pthread_mutex_t**)CriticalSectionObject;
+ pthread_mutex_t **cs = (pthread_mutex_t **)CriticalSectionObject;
if (NULL != *cs) {
while (0 != pthread_mutex_destroy(*cs));
+
free(*cs);
*cs = NULL;
}
@@ -86,7 +88,8 @@ void Do_CriticalSection_Destroy(CriticalSection_t *CriticalSectionObject)
*/
boolean Do_CriticalSection_Enter(CriticalSection_t CriticalSectionObject)
{
- pthread_mutex_t* cs = (pthread_mutex_t*)CriticalSectionObject;
+ pthread_mutex_t *cs = (pthread_mutex_t *)CriticalSectionObject;
+
if (NULL != cs) {
while (0 != pthread_mutex_lock(cs));
}
@@ -108,7 +111,8 @@ boolean Do_CriticalSection_Enter(CriticalSection_t CriticalSectionObject)
*/
void Do_CriticalSection_Leave(CriticalSection_t CriticalSectionObject)
{
- pthread_mutex_t* cs = (pthread_mutex_t*)CriticalSectionObject;
+ pthread_mutex_t *cs = (pthread_mutex_t *)CriticalSectionObject;
+
if (NULL != cs) {
while (0 != pthread_mutex_unlock(cs));
}
diff --git a/lcmodule/source/cnh1605551_ldr_utilities/critical_section/critical_section_win32.c b/lcmodule/source/cnh1605551_ldr_utilities/critical_section/critical_section_win32.c
index 49e93fc..c0c9a44 100755..100644
--- a/lcmodule/source/cnh1605551_ldr_utilities/critical_section/critical_section_win32.c
+++ b/lcmodule/source/cnh1605551_ldr_utilities/critical_section/critical_section_win32.c
@@ -36,10 +36,12 @@
*/
CriticalSection_t Do_CriticalSection_Create(void)
{
- CRITICAL_SECTION* cs = (CRITICAL_SECTION*)malloc(sizeof(CRITICAL_SECTION));
+ CRITICAL_SECTION *cs = (CRITICAL_SECTION *)malloc(sizeof(CRITICAL_SECTION));
+
if (NULL != cs) {
InitializeCriticalSection(cs);
}
+
return (CriticalSection_t)cs;
}
@@ -55,7 +57,8 @@ CriticalSection_t Do_CriticalSection_Create(void)
*/
void Do_CriticalSection_Destroy(CriticalSection_t *CriticalSectionObject)
{
- CRITICAL_SECTION** cs = (CRITICAL_SECTION**)CriticalSectionObject;
+ CRITICAL_SECTION **cs = (CRITICAL_SECTION **)CriticalSectionObject;
+
if (NULL != *cs) {
DeleteCriticalSection(*cs);
free(*cs);
@@ -76,7 +79,8 @@ void Do_CriticalSection_Destroy(CriticalSection_t *CriticalSectionObject)
*/
boolean Do_CriticalSection_Enter(CriticalSection_t CriticalSectionObject)
{
- CRITICAL_SECTION* cs = (CRITICAL_SECTION*)CriticalSectionObject;
+ CRITICAL_SECTION *cs = (CRITICAL_SECTION *)CriticalSectionObject;
+
if (NULL != cs) {
EnterCriticalSection(cs);
}
@@ -98,7 +102,8 @@ boolean Do_CriticalSection_Enter(CriticalSection_t CriticalSectionObject)
*/
void Do_CriticalSection_Leave(CriticalSection_t CriticalSectionObject)
{
- CRITICAL_SECTION* cs = (CRITICAL_SECTION*)CriticalSectionObject;
+ CRITICAL_SECTION *cs = (CRITICAL_SECTION *)CriticalSectionObject;
+
if (NULL != cs) {
LeaveCriticalSection(cs);
}
diff --git a/lcmodule/source/cnh1605551_ldr_utilities/critical_section/t_critical_section.h b/lcmodule/source/cnh1605551_ldr_utilities/critical_section/t_critical_section.h
index 448da41..448da41 100755..100644
--- a/lcmodule/source/cnh1605551_ldr_utilities/critical_section/t_critical_section.h
+++ b/lcmodule/source/cnh1605551_ldr_utilities/critical_section/t_critical_section.h