本文整理汇总了C++中os_sleep函数的典型用法代码示例。如果您正苦于以下问题:C++ os_sleep函数的具体用法?C++ os_sleep怎么用?C++ os_sleep使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了os_sleep函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: tunet_stop
VOID tunet_stop()
{
logs_append(g_logs, "TUNET_STOP", NULL, NULL, 0);
if(thread_tunet)
{
logout_socket_buffer = buffer_clear(logout_socket_buffer);
tunet_state = TUNET_STATE_LOGOUT;
while(tunet_state != TUNET_STATE_NONE && tunet_state != TUNET_STATE_ERROR)
os_sleep(20);
os_thread_kill(thread_tunet);
while(thread_tunet) os_sleep(20);
main_socket_buffer = buffer_clear(main_socket_buffer);
keepalive_socket_buffer = buffer_clear(keepalive_socket_buffer);
logout_socket_buffer = buffer_clear(logout_socket_buffer);
strcpy(keepalive_server, "");
keepalive_server_port = 0;
strcpy(msg_server, "");
msg_server_port = 0;
}
logs_append(g_logs, "TUNET_STOP", "END", NULL, 0);
}
示例2: fs2netd_reset_connection
void fs2netd_reset_connection()
{
bool reset_gameserver = false;
if (Net_player->flags & NETINFO_FLAG_MT_CONNECTED) {
fs2netd_gameserver_disconnect();
reset_gameserver = true;
}
FS2NetD_Disconnect();
fs2netd_reset_state();
// wait a little to allow for the port to clear
os_sleep(500);
// try to reinit the server connection
fs2netd_login();
os_sleep(250);
if ( reset_gameserver && fs2netd_is_online() ) {
fs2netd_gameserver_start();
}
}
示例3: main
int main( int argc, char **argv )
{
void *pTaskHandle = NULL;
enable_log( 1 );
set_log( LOG_TYPE_CONSOLE, NULL, 0 );
if( init_session( ) < 0 )
return -1;
pTaskHandle = create_task( task_test, 5, 100 );
if ( pTaskHandle )
{
CMessage stMsg;
memset( &stMsg, 0x00, sizeof(stMsg) );
post_task_msg( pTaskHandle, &stMsg );
log_print( "create task ok................." );
}
else
log_print( "create task failed?????????????????????" );
while ( 1 )
os_sleep( 1000 );
release_session( );
return 0;
}
示例4: todo_wait_done
/*
* blocking callers sleep here until the todo list is done
*/
static int todo_wait_done(void)
{
di_debug("FUNC: %s\n", __func__);
os_sleep(done_queue, todo.status == TODO_ST_DONE, 0);
return todo.rc;
}
示例5: main
int main(void)
{
Error check_error = success;
uint8 narrow;
uint8 wide;
os_sleep(100);
CheckCleanup(os_boot(boot_module_table, LENGTH(boot_module_table)), boot_failure);
CheckCleanup(record_command(0, null), record_failure);
record_failure: narrow = 2; wide = 1; goto failure;
boot_failure: narrow = 1; wide = os_boot_index(); goto failure;
failure:
while (!uart_character_ready())
led_signal(narrow, wide);
error_stack_print();
write(PSTR("\r\n\r\nWavelogger v4.0\r\n"));
write(PSTR("Reset reason: 0x%hx\r\n"), os_reset_reason());
shell_run(shell_command_table, LENGTH(shell_command_table));
return 0;
}
示例6: wpa_supplicant_ctrl_iface_deinit
void wpa_supplicant_ctrl_iface_deinit(struct ctrl_iface_priv *priv)
{
struct wpa_ctrl_dst *dst, *prev;
if (priv->sock > -1) {
char *fname;
char *buf, *dir = NULL, *gid_str = NULL;
eloop_unregister_read_sock(priv->sock);
if (priv->ctrl_dst) {
/*
* Wait a second before closing the control socket if
* there are any attached monitors in order to allow
* them to receive any pending messages.
*/
wpa_printf(MSG_DEBUG, "CTRL_IFACE wait for attached "
"monitors to receive messages");
os_sleep(1, 0);
}
close(priv->sock);
priv->sock = -1;
fname = wpa_supplicant_ctrl_iface_path(priv->wpa_s);
if (fname) {
unlink(fname);
os_free(fname);
}
buf = os_strdup(priv->wpa_s->conf->ctrl_interface);
if (buf == NULL)
goto free_dst;
if (os_strncmp(buf, "DIR=", 4) == 0) {
dir = buf + 4;
gid_str = os_strstr(dir, " GROUP=");
if (gid_str) {
*gid_str = '\0';
gid_str += 7;
}
} else
dir = buf;
if (rmdir(dir) < 0) {
if (errno == ENOTEMPTY) {
wpa_printf(MSG_DEBUG, "Control interface "
"directory not empty - leaving it "
"behind");
} else {
perror("rmdir[ctrl_interface]");
}
}
os_free(buf);
}
free_dst:
dst = priv->ctrl_dst;
while (dst) {
prev = dst;
dst = dst->next;
os_free(prev);
}
os_free(priv);
}
示例7: wpa_supplicant_ctrl_iface_deinit
void wpa_supplicant_ctrl_iface_deinit(struct ctrl_iface_priv *priv)
{
struct wpa_ctrl_dst *dst, *prev;
if (priv->sock > -1) {
eloop_unregister_read_sock(priv->sock);
if (priv->ctrl_dst) {
/*
* Wait a second before closing the control socket if
* there are any attached monitors in order to allow
* them to receive any pending messages.
*/
wpa_printf(MSG_DEBUG, "CTRL_IFACE wait for attached "
"monitors to receive messages");
os_sleep(1, 0);
}
close(priv->sock);
priv->sock = -1;
}
dst = priv->ctrl_dst;
while (dst) {
prev = dst;
dst = dst->next;
os_free(prev);
}
os_free(priv);
}
示例8: tunet_start
VOID tunet_start(USERCONFIG *uc)
{
assert(uc != NULL);
if(thread_tunet)
{
os_thread_kill(thread_tunet);
while(thread_tunet) os_sleep(20);
}
logs_append(g_logs, "TUNET_START", NULL, NULL, 0);
memcpy(&userconfig, uc, sizeof(USERCONFIG));
strcpy(keepalive_server, "");
keepalive_server_port = 0;
strcpy(msg_server, "");
msg_server_port = 0;
main_socket = os_socket_tcp_close(main_socket);
keepalive_socket = os_socket_tcp_close(keepalive_socket);
logout_socket = os_socket_tcp_close(logout_socket);
tunet_state = TUNET_STATE_LOGIN;
main_socket_buffer = buffer_clear(main_socket_buffer);
keepalive_socket_buffer = buffer_clear(keepalive_socket_buffer);
logout_socket_buffer = buffer_clear(logout_socket_buffer);
thread_tunet = os_thread_create(tunet_thread, NULL, FALSE, FALSE);
}
示例9: run
void run(int nReaders, uint64_t bytes, bool sync) {
ThreadPool q(nReaders * 2 + 8, sync);
Server();
for (int i = 0; i < nReaders; ++i)
TcpReader(bytes);
os_sleep(100 * 1000);
}
示例10: hostapd_channel_align_LTE_coex
u8 hostapd_channel_align_LTE_coex(struct hostapd_data *hapd, u8 oper_chan)
{
int avail_ch_num, i;
int avail_ch[14]={0};
int fail_cnt = 0;
struct wpa_driver_available_chan_s available_chan;
//No LTE COEX need for channels in 5GHz
if (oper_chan > 14)
return oper_chan;
do {
os_memset(&available_chan, 0, sizeof(struct wpa_driver_available_chan_s));
hostapd_drv_get_available_channel(hapd, (u8 *)&available_chan);
wpa_printf(MSG_DEBUG, "2G CHANNEL=0x%08x", available_chan.ch_2g_base1);
if (BIT(31) & available_chan.ch_2g_base1) {
break;
} else {
wpa_printf(MSG_DEBUG, "GET AVAILABLE CHANNEL: command failed");
fail_cnt++;
if(fail_cnt > 14)
return oper_chan;
os_sleep(0,1000*350);
}
} while(1);
os_memset(avail_ch, 0, sizeof(avail_ch));
avail_ch_num = 0;
for (i = 0; i < 14; i++) {
if (BIT(i) & available_chan.ch_2g_base1) {
avail_ch[avail_ch_num] = i + 1;
avail_ch_num++;
} else
continue;
}
wpa_printf(MSG_DEBUG,"DRIVER Report 2.4G available %d channel", avail_ch_num);
for (i = 0; i < avail_ch_num; i++)
wpa_printf(MSG_DEBUG,"Channel[%d] is fine", avail_ch[i]);
wpa_printf(MSG_DEBUG,"Operating Channel = %d", oper_chan );
//align channel
if (avail_ch_num > 0) {
if (oper_chan <= avail_ch[0])
oper_chan = avail_ch[0];
else if (oper_chan >= avail_ch[avail_ch_num-1])
oper_chan = avail_ch[avail_ch_num-1];
else
for (i = 0; i < avail_ch_num; i++) {
if (oper_chan >= avail_ch[i])
oper_chan = avail_ch[i];
}
wpa_printf(MSG_DEBUG,"Align Operating Channel = %d", oper_chan );
}
return oper_chan;
}
示例11: busy_run
void busy_run(long long loop, double sleep, struct busy_loop_data * busy_loop)
{
while (loop > 0)
{
assert(busy_loop_run(busy_loop));
os_sleep(sleep);
loop--;
}
}
示例12: led_flash
void led_flash(uint8 count, bool wide)
{
led_set(0, false);
led_set(1, false);
for (uint8 i = 0; i < count; ++i)
{
if (wide) led_set(0, true);
led_set(1, true);
os_sleep(25);
led_set(0, false);
led_set(1, false);
os_sleep(25);
}
}
示例13: eloop_run
void eloop_run(void)
{
int i;
struct os_time tv, now;
while (!eloop.terminate &&
(eloop.timeout || eloop.reader_count > 0)) {
if (eloop.timeout) {
os_get_time(&now);
if (os_time_before(&now, &eloop.timeout->time))
os_time_sub(&eloop.timeout->time, &now, &tv);
else
tv.sec = tv.usec = 0;
}
/*
* TODO: wait for any event (read socket ready, timeout (tv),
* signal
*/
os_sleep(1, 0); /* just a dummy wait for testing */
eloop_process_pending_signals();
/* check if some registered timeouts have occurred */
if (eloop.timeout) {
struct eloop_timeout *tmp;
os_get_time(&now);
if (!os_time_before(&now, &eloop.timeout->time)) {
tmp = eloop.timeout;
eloop.timeout = eloop.timeout->next;
tmp->handler(tmp->eloop_data,
tmp->user_data);
free(tmp);
}
}
eloop.reader_table_changed = 0;
for (i = 0; i < eloop.reader_count; i++) {
/*
* TODO: call each handler that has pending data to
* read
*/
if (0 /* TODO: eloop.readers[i].sock ready */) {
eloop.readers[i].handler(
eloop.readers[i].sock,
eloop.readers[i].eloop_data,
eloop.readers[i].user_data);
if (eloop.reader_table_changed)
break;
}
}
}
}
示例14: raw_socket_loop_thread
static THREADRET raw_socket_loop_thread(THREAD *self)
{
CHAR buf[2*32767];
ETHCARD_LOOP_RECV_PROC_PARAM *pp, p;
size_t len = 0, recvlen = 0;
struct sockaddr_ll addr;
fd_set set;
struct timeval tv;
pp = (ETHCARD_LOOP_RECV_PROC_PARAM *)self->param;
p.ethcard = pp->ethcard;
p.proc = pp->proc;
BYTE *pkt_data;
os_thread_init_complete(self);
//pcap_loop(p.ethcard, 0, dispatcher_handler, (BYTE *)&p);
while(os_thread_is_running(self) || os_thread_is_paused(self))
{
tv.tv_sec = 0;
tv.tv_usec = 0;
FD_ZERO(&set);
FD_SET(p.ethcard->fd, &set);
select(p.ethcard->fd + 1, &set, NULL, NULL, &tv);
if( FD_ISSET(p.ethcard->fd, &set) )
{
len = sizeof(addr);
recvlen = recvfrom(p.ethcard->fd,(char *)buf, sizeof(buf), 0, (struct sockaddr *)&addr, &len);
if(recvlen > 0)
{
pkt_data = (BYTE *)buf;
if(addr.sll_protocol == 0x8e88)
p.proc(p.ethcard, pkt_data, recvlen);
}
else
{
//must be something wrong....
}
}
else
{
//dprintf("ETH Sleep...\n");
os_sleep(20);
}
os_thread_test_paused(self);
}
thread_ethcard_recv = os_thread_free(thread_ethcard_recv);
return 0;
}
示例15: tunet_cleanup
VOID tunet_cleanup()
{
os_thread_kill(thread_tunet);
while(thread_tunet) os_sleep(20);
main_socket_buffer = buffer_free(main_socket_buffer);
keepalive_socket_buffer = buffer_free(keepalive_socket_buffer);
logout_socket_buffer = buffer_free(logout_socket_buffer);
keepalive_timeout = os_tick_free(keepalive_timeout);
}