일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- VMWare View Connection Serve
- VMware
- Community Cloud
- 이 컴퓨터는 도메인의 구성원이 아닙니다.
- 자원 풀링
- 클라우드 보안 취약성
- 가상 프라이빗 클라우드
- 멀티테넌시
- 클라우드 소비자
- dhcp
- 커뮤니티 클라우드
- VMWare vSphere
- 운영관리제어의 축소
- 클라우드 자원 관리자
- IT 자원
- DHCP 설치
- 온 프레미스
- 수직적 확장
- Error 1720
- 수평적 확장
- 온디맨드식
- DHCP 설정
- Virtual Private Cloud
- View Connection
- 도메인 사용자 또는 그룹을 확인할 수 없습니다.
- 클라우드 제공자
- 고정 IP주소를 가진 네트워크 어댑터를 검색할 수 없습니다.
- 정수형 데이터타입
- 클라우드 서비스 소유자
- 제한된 이식성
- Today
- Total
한 걸음씩..
[VxWorks] Critical Section 구현 본문
/************************************
* VxWorks에서 Critical Section이 없기 때문에
* 세마포어를 이용하여 구현
* 이걸 왜 만들었더라? 그냥 세마포어 쓰면 될 껄..
************************************/
/*세마포어를 크리티컬 섹션이란 이름으로 재 정의*/
typedef SEM_ID CRITICAL_SECTION;
typedef SEM_ID *LPTCRITICAL_SECTION;
/* 함수 원형 작성 */
BOOL CreateCriticalSection( LPTCRITICAL_SECTION CriticalSection );
BOOL DeleteCriticalSection( LPTCRITICAL_SECTION CriticalSection );
BOOL LockCriticalSection( LPTCRITICAL_SECTION CriticalSection );
BOOL UnlockCriticalSection( LPTCRITICAL_SECTION CriticalSection );
BOOL CreateCriticalSection( LPTCRITICAL_SECTION CriticalSection )
{
*CriticalSection = semMCreate( SEM_Q_PRIORITY | SEM_INVERSION_SAFE | SEM_DELETE_SAFE );
if( *CriticalSection == 0 )
{
printf( "Semaphore Fail in CreateCriticalSection \n" );
return FALSE;
}
return TRUE;
}
BOOL DeleteCriticalSection( LPTCRITICAL_SECTION CriticalSection )
{
if( semDelete( *CriticalSection ) == ERROR )
{
printf( " Semaphore Error in DeleteCriticalSection\n" );
return FALSE;
}
*CriticalSection = 0;
return TRUE;
}
BOOL LockCriticalSection( LPTCRITICAL_SECTION CriticalSection )
{
if( semTake( *CriticalSection, WAIT_FOREVER ) == ERROR )
{
printf( "Semaphore Error in LockCriticalSection\n" );
return FALSE;
}
return TRUE;
}
BOOL UnlockCriticalSection( LPTCRITICAL_SECTION CriticalSection )
{
if( semGive( *CriticalSection ) == ERROR )
{
printf( "Semaphore Error in UnlockCriticalSection\n" );
return FALSE;
}
return TRUE;
}
'프로그래밍' 카테고리의 다른 글
Linux Driver 메모리 할당 - kmalloc / kfree (0) | 2013.07.18 |
---|---|
드라이버에서 프로세스 검색 (0) | 2013.07.17 |
EUC-KR 과 KSC5601 의 차이점 (0) | 2013.07.15 |
[MFC]SendInput 사용시 주의 점 (0) | 2013.07.15 |
fputc(), fwrite() 사용할 때 0x0A 를 쓰게 되면... (2) | 2013.07.15 |