OS>Mona
Hack
Utility
- string.cpp
- purevirtual.cpp
- Semaphore.cpp Semaphore.h セマフォ
- BitMap?.cpp
- Queue.h キュー
PC/AT Device
- io.cpp
- disp.cpp
- FAT12.cpp
- FDCDriver.cpp
- IDEDriver.cpp
- ISADriver.cpp
- pic.cpp タイマー割り込み
Kernel
- syscalls.cpp
- put_pixel
- exit
- syscall_print
- exit_kernel_lock_mode
- enter_kernel_lock_mode
- syscall_heavy //システムコール実験用
- PageManager?.cpp
- 共有map
- スタック StackSegment?
- ヒープ HeapSegment?
- include/Message.h
- MessageServer?.cpp
Test code
- tester.cpp
- test_higepon.cpp
Semaphore.cpp
00028 void Semaphore::up(semaphore* sem) {
00029
00030 ++(*sem); // ++を前に
00031 return;
00032 }
00041 int Semaphore::down(semaphore* sem) {
00042
00043 dword eflags = get_eflags();
00044 disableInterrupt(); // 割り込み禁止
00045
00046 if (*sem) {
00047 --(*sem); // --を前に
00048 set_eflags(eflags);
00049 return 0;
00050 } else {
00051 set_eflags(eflags);
00052 return -1;
00053 }
00054 }
- 0と-1というマジックナンバーはこのままでいいのか?
関連
External Links
備考
- アクセス--041023--041114--041224
索引
- counter: 1978
- today: 1
- yesterday: 0
- online: 4
人気の10件
最新の20件
2007-04-16
2016-04-07
2015-05-08
2013-03-16
2010-08-19
2009-12-03
2009-06-06
2009-02-13
2009-02-10
2008-12-06
今日の30件