Exemplo n.º 1
0
void
tcp_check_handler(vector strvec)
{
	tcp_checker_t *tcp_chk = (tcp_checker_t *) MALLOC(sizeof (tcp_checker_t));

	/* queue new checker */
	checker_set_dst(&tcp_chk->dst);
	queue_checker(free_tcp_check, dump_tcp_check, tcp_connect_thread, tcp_chk);
}
Exemplo n.º 2
0
void
misc_check_handler(vector strvec)
{
	misc_checker *misc_chk = (misc_checker *) MALLOC(sizeof (misc_checker));

	/* queue new checker */
	queue_checker(free_misc_check, dump_misc_check, misc_check_thread,
		      misc_chk);
}
Exemplo n.º 3
0
static void
http_get_handler(vector_t *strvec)
{
	http_checker_t *http_get_chk;
	char *str = strvec_slot(strvec, 0);

	/* queue new checker */
	http_get_chk = alloc_http_get(str);
	queue_checker(free_http_get_check, dump_http_get_check,
		      http_connect_thread, http_get_chk, CHECKER_NEW_CO());
}
//Do the searching
void omp_grepr(
char * to_find, 
unsigned int num_threads, 
unsigned int * num_found, 
queue_t * dir_queue, 
queue_t * file_queue,
unsigned int num_files_per_queue_access,
unsigned int num_dirs_per_queue_access,
unsigned int file_queue_min_size)
{
	char * to_find_cpy = malloc(strlen(to_find)+1);
	to_find_cpy = strcpy(to_find_cpy,to_find);
	
	int times_empty = 0;
	while(times_empty<=10000)
	{
		while( (!queue_empty(dir_queue) || !queue_empty(file_queue)) )
		{
			//More directories to search? Also pass global file queue
			queue_checker(dir_queue, num_dirs_per_queue_access, 0, file_queue, num_found, to_find);
			
			//Only check the file queue if a minimum number of files exist within
			//Or if have hit that value before and are on our way down
			if( (file_queue_hit_desired==1) || (file_queue->size >= file_queue_min_size))
			{
				//printf("file queue size %u\n",file_queue->size);
				file_queue_hit_desired = 1;
				//More files to search? Also pass global dir queue
				queue_checker(file_queue, num_files_per_queue_access, 1, dir_queue, num_found, to_find);
			}
			
			//Wait a bit
			sched_yield();
		}
		times_empty++;
		//Wait a bit
		sched_yield();
	}
}