src/dpdk/lib/librte_eal/common/eal_common_launch.c
int
rte_eal_wait_lcore(unsigned worker_id)
{
	if (lcore_config[worker_id].state == WAIT)
		return 0;

	while (lcore_config[worker_id].state != WAIT &&
	       lcore_config[worker_id].state != FINISHED)
		rte_pause();

	rte_rmb();

	/* we are in finished state, go to wait state */
	lcore_config[worker_id].state = WAIT;
	return lcore_config[worker_id].ret;
}
/*
 * Wait until a lcore finished its job.
 */
Wait until a lcore finished its job.
Wait until a lcore finished its job .
int
rte_eal_wait_lcore(unsigned worker_id)
{
	if (lcore_config[worker_id].state == WAIT)
		return 0;
	while (lcore_config[worker_id].state != WAIT &&
	       lcore_config[worker_id].state != FINISHED)
		rte_pause();
	rte_rmb();
	lcore_config[worker_id].state = WAIT;
	return lcore_config[worker_id].ret;
}
int rte_eal_wait_lcore ( unsigned worker_id ) { if ( lcore_config [ worker_id ] . state == WAIT ) return 0 ; while ( lcore_config [ worker_id ] . state != WAIT && lcore_config [ worker_id ] . state != FINISHED ) rte_pause ( ) ; rte_rmb ( ) ; lcore_config [ worker_id ] . state = WAIT ; return lcore_config [ worker_id ] . ret ; }
Wait until a lcore finished its job.
Wait until a lcore finished its job .
/* we are in finished state, go to wait state */