wait_block.c

来自「虚拟地址空间基于文件的操作系统」· C语言 代码 · 共 22 行

C
22
字号
#include "memory.h"

void  wait_block(int block_number,int sleep_semaphore)
{
	int next_processor,next_semaphore;
	struct physical_block *b;
	b=memory_body->physical_block+block_number;
	switch(b->state){
	case READING_BLOCK:
	case WRITING_BLOCK:
		next_processor=b->sleep_semaphore.processor;
		next_semaphore=b->sleep_semaphore.semaphore;
		b->sleep_semaphore.processor=memory_body->my_processor;
		b->sleep_semaphore.semaphore=sleep_semaphore;
		memory_wait(sleep_semaphore,
			next_processor,next_semaphore);
		return;
	default:
		return ;
	}
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?