Пример #1
0
void
do_integer_add(iter_t iterations, void* cookie)
{
	struct _state *pState = (struct _state*)cookie;
	register int a = pState->N + 57;
	register int b = pState->N + 31;

	while (iterations-- > 0) {
		HUNDRED(a += b; b -= a;)
	}
	use_int(a+b);
}
Пример #2
0
void
do_integer_bitwise(iter_t iterations, void* cookie)
{
	struct _state *pState = (struct _state*)cookie;
	register int r = pState->N;
	register int s = (int)iterations;

	while (iterations-- > 0) {
		HUNDRED(r ^= iterations; s ^= r; r |= s;)
	}
	use_int(r);
}
Пример #3
0
void
doit(int p[][2], int rd, int wr)
{
	int	msg, sum = 0 /* lint */;

	signal(SIGTERM, SIG_DFL);
	if (data) bzero((void*)data, process_size);	
	for ( ;; ) {
		if (read(p[rd][0], &msg, sizeof(msg)) != sizeof(msg)) {
			if (errno) perror("read/write on pipe");
			break;
		}
		sum = sumit(process_size);
		if (write(p[wr][1], &msg, sizeof(msg)) != sizeof(msg)) {
			if (errno) perror("read/write on pipe");
			break;
		}
	}
	use_int(sum);
	exit(1);
}
Пример #4
0
void do_procedure(int r)
{
	use_int(r);
}