// enter the dfa with character x at state state
int enter(char x, int state){
	switch (state){
	case 0:
		return enter0(x);
	case 1:
		return enter1(x);
	case 2:
		return enter2(x);
	case 3:
		return enter3(x);
	defaut:
		return -1;
	}
}
Esempio n. 2
0
void 
sendRequest(request_t request){
	int flag = 1;
	printf("le envio al client: %d req: %d\n", request.PID, request.reqID);

	while(flag){
		enter1();
		if(reqC->reqID == EMPTY ){
			reqC->price = request.price;
			memcpy(reqC, &request, sizeof request);
			flag = 0;
		}
		leave1();
		sleep(1);
	}
}
Esempio n. 3
0
request_t 
receiveRequest(){
	int flag = 1;
	request_t request;

	printf("leyendo desde: %p\n", reqS);

	while ( flag )
	{
		enter1();
		if ( reqS->reqID != EMPTY )
		{
			printf("Servidor recibe: %d\n", reqS->reqID);
			memcpy(&request, reqS, sizeof request);
			reqS->reqID = EMPTY;
			flag = 0;
		}
		leave1();
		sleep(1);
	}
	
	return request;
}