这篇教程C++ timeval_current函数代码示例写得很实用,希望能帮到您。
本文整理汇总了C++中timeval_current函数的典型用法代码示例。如果您正苦于以下问题:C++ timeval_current函数的具体用法?C++ timeval_current怎么用?C++ timeval_current使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。 在下文中一共展示了timeval_current函数的29个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。 示例1: nb_target_ratestatic void nb_target_rate(struct child_struct *child, double rate){ double tdelay; if (child->rate.last_bytes == 0) { child->rate.last_bytes = child->bytes; child->rate.last_time = timeval_current(); return; } if (rate != 0) { tdelay = (child->bytes - child->rate.last_bytes)/(1.0e6*rate) - timeval_elapsed(&child->rate.last_time); } else { tdelay = - timeval_elapsed(&child->rate.last_time); } if (tdelay > 0 && rate != 0) { msleep(tdelay*1000); } else { child->max_latency = MAX(child->max_latency, -tdelay); } child->rate.last_time = timeval_current(); child->rate.last_bytes = child->bytes;}
开发者ID:anushshetty,项目名称:glustersanitytools,代码行数:25,
示例2: smb2srv_negprot_backendstatic NTSTATUS smb2srv_negprot_backend(struct smb2srv_request *req, struct smb2_negprot *io){ NTSTATUS status; struct timeval current_time; struct timeval boot_time; req->smb_conn->negotiate.protocol = PROTOCOL_SMB2; current_time = timeval_current(); /* TODO: handle timezone?! */ boot_time = timeval_current(); /* TODO: fix me */ io->out._pad = 0; io->out.unknown2 = 0x06; ZERO_STRUCT(io->out.sessid); io->out.unknown3 = 0x0d; io->out.unknown4 = 0x00; io->out.unknown5 = 0x01; io->out.unknown6 = 0x01; io->out.unknown7 = 0x01; io->out.current_time = timeval_to_nttime(¤t_time); io->out.boot_time = timeval_to_nttime(&boot_time); status = smb2srv_negprot_secblob(req, &io->out.secblob); NT_STATUS_NOT_OK_RETURN(status); io->out.unknown9 = 0x204d4c20; return NT_STATUS_OK;}
开发者ID:technosaurus,项目名称:samba4-GPL2,代码行数:27,
示例3: torture_bench_treeconnect/* Test the rate at which the server will accept connections. */bool torture_bench_treeconnect(struct torture_context *tctx){ const char *host = torture_setting_string(tctx, "host", NULL); const char *share = torture_setting_string(tctx, "share", NULL); int timelimit = torture_setting_int(tctx, "timelimit", TIME_LIMIT_SECS); int nprocs = torture_setting_int(tctx, "nprocs", 4); int *curr_counts = map_count_buffer(nprocs, sizeof(int)); int *last_counts = talloc_array(NULL, int, nprocs); struct timeval now, last, start; int i, delta; torture_assert(tctx, nprocs > 0, "bad proc count"); torture_assert(tctx, timelimit > 0, "bad timelimit"); torture_assert(tctx, curr_counts, "allocation failure"); torture_assert(tctx, last_counts, "allocation failure"); start = last = timeval_current(); for (i = 0; i < nprocs; ++i) { fork_tcon_client(tctx, &curr_counts[i], timelimit, host, share); } while (children_remain()) { sleep(1); now = timeval_current(); for (i = 0, delta = 0; i < nprocs; ++i) { delta += curr_counts[i] - last_counts[i]; } printf("%u connections/sec/n", (unsigned)rate_convert_secs(delta, &last, &now)); memcpy(last_counts, curr_counts, nprocs * sizeof(int)); last = timeval_current(); } now = timeval_current(); for (i = 0, delta = 0; i < nprocs; ++i) { delta += curr_counts[i]; } printf("TOTAL: %u connections/sec over %u secs/n", (unsigned)rate_convert_secs(delta, &start, &now), timelimit); return true;}
开发者ID:AIdrifter,项目名称:samba,代码行数:53,
示例4: ctdb_statistics_initint ctdb_statistics_init(struct ctdb_context *ctdb){ bzero(&ctdb->statistics, sizeof(struct ctdb_statistics)); ctdb->statistics.statistics_start_time = timeval_current(); bzero(&ctdb->statistics_current, sizeof(struct ctdb_statistics)); ctdb->statistics_current.statistics_start_time = timeval_current(); bzero(ctdb->statistics_history, sizeof(ctdb->statistics_history)); tevent_add_timer(ctdb->ev, ctdb, timeval_current_ofs(ctdb->tunable.stat_history_interval, 0), ctdb_statistics_update, ctdb); return 0;}
开发者ID:Alexander--,项目名称:samba,代码行数:15,
示例5: whilevoid link_t::loop() { timeval_t last_conn = timeval_long_ago; while(true) { try { { timeval_t now = timeval_current(); interval_t to_sleep = conn_timeout - (timeval_current() - last_conn); if(to_sleep > interval_zero && bq_sleep(&to_sleep) < 0) throw exception_sys_t(log::error, errno, "bq_sleep: %m"); } last_conn = timeval_current(); netaddr_t const &netaddr = remote_netaddr(); int fd = socket(netaddr.sa->sa_family, SOCK_STREAM, 0); if(fd < 0) throw exception_sys_t(remote_errors, errno, "socket: %m"); fd_guard_t fd_guard(fd); bq_fd_setup(fd); interval_t timeout = conn_timeout; if(bq_connect(fd, netaddr.sa, netaddr.sa_len, &timeout) < 0) throw exception_sys_t(remote_errors, errno, "connect: %m"); log_debug("connected"); bq_conn_fd_t conn(fd, ctl(), remote_errors, /* dup = */ true); proto_instance->proc(conn); } catch(exception_sys_t const &ex) { if(ex.errno_val == ECANCELED) throw; ex.log(); } catch(exception_t const &ex) { ex.log(); } }}
开发者ID:euroelessar,项目名称:phantom,代码行数:48,
示例6: nb_setupvoid nb_setup(struct cli_state *cli){ signal(SIGSEGV, sigsegv); c = cli; nb_start = timeval_current(); children[nbio_id].done = 0;}
开发者ID:dmitry-shavyrin,项目名称:samba4_embedded_build,代码行数:7,
示例7: talloc_zero/* * allocate a new session structure with a VUID. * gensec_ctx is optional, but talloc_steal'ed when present */struct smbsrv_session *smbsrv_session_new(struct smbsrv_connection *smb_conn, TALLOC_CTX *mem_ctx, struct gensec_security *gensec_ctx){ struct smbsrv_session *sess = NULL; int i; /* Ensure no vuid gets registered in share level security. */ if (smb_conn->config.security == SEC_SHARE) return NULL; sess = talloc_zero(mem_ctx, struct smbsrv_session); if (!sess) return NULL; sess->smb_conn = smb_conn; i = idr_get_new_random(smb_conn->sessions.idtree_vuid, sess, smb_conn->sessions.idtree_limit); if (i == -1) { DEBUG(1,("ERROR! Out of connection structures/n")); talloc_free(sess); return NULL; } sess->vuid = i; /* use this to keep tabs on all our info from the authentication */ sess->gensec_ctx = talloc_steal(sess, gensec_ctx); DLIST_ADD(smb_conn->sessions.list, sess); talloc_set_destructor(sess, smbsrv_session_destructor); /* now fill in some statistics */ sess->statistics.connect_time = timeval_current(); return sess;}
开发者ID:gojdic,项目名称:samba,代码行数:37,
示例8: test_async_resolvestatic bool test_async_resolve(struct torture_context *tctx){ struct nbt_name n; struct tevent_context *ev; int timelimit = torture_setting_int(tctx, "timelimit", 2); const char *host = torture_setting_string(tctx, "host", NULL); int count = 0; struct timeval tv = timeval_current(); TALLOC_CTX *mem_ctx = tctx; ev = tctx->ev; ZERO_STRUCT(n); n.name = host; torture_comment(tctx, "Testing async resolve of '%s' for %d seconds/n", host, timelimit); while (timeval_elapsed(&tv) < timelimit) { struct socket_address **s; struct composite_context *c = resolve_name_host_send(mem_ctx, ev, NULL, 0, 0, &n); torture_assert(tctx, c != NULL, "resolve_name_host_send"); torture_assert_ntstatus_ok(tctx, resolve_name_host_recv(c, mem_ctx, &s, NULL), "async resolve failed"); count++; } torture_comment(tctx, "async rate of %.1f resolves/sec/n", count/timeval_elapsed(&tv)); return true;}
开发者ID:0x24bin,项目名称:winexe-1,代码行数:30,
示例9: _do_debug_vstatic void _do_debug_v(const char *format, va_list ap){ struct timeval t; char *s = NULL; struct tm *tm; char tbuf[100]; int ret; ret = vasprintf(&s, format, ap); if (ret == -1) { fprintf(stderr, "vasprintf failed in _do_debug_v, cannot print debug message./n"); fflush(stderr); return; } t = timeval_current(); tm = localtime(&t.tv_sec); strftime(tbuf,sizeof(tbuf)-1,"%Y/%m/%d %H:%M:%S", tm); fprintf(stderr, "%s.%06u [%s%5u]: %s", tbuf, (unsigned)t.tv_usec, debug_extra, (unsigned)getpid(), s); fflush(stderr); free(s);}
开发者ID:AIdrifter,项目名称:samba,代码行数:25,
示例10: checkvoid check(ref_t<file_t> &file_ref, interval_t const &check_time) { file_t *file = file_ref; timeval_t time = timeval_current(); if(time > file->check_time + check_time) { struct stat st; bool stat_res = (::stat(file->sys_name_z.ptr(), &st) >= 0 && S_ISREG(st.st_mode)); if( stat_res ? !*file || file->dev != st.st_dev || file->ino != st.st_ino : *file ) { file_ref = file = new file_t(file->sys_name_z, time); } else if(stat_res) { timeval_t mtime = timeval_unix_origin + st.st_mtime * interval_second; if(st.st_size != file->size) { log_error("File /"%s/" incorrectly changed", file->sys_name_z.ptr()); file->size = st.st_size; } if(mtime != file->mtime) file->mtime = mtime; } file->check_time = time; } file->access_time = time;}
开发者ID:Civil,项目名称:phantom,代码行数:31,
示例11: test_speed/* measure the speed of talloc versus malloc*/static bool test_speed(void){ void *ctx = talloc_new(NULL); unsigned count; const int loop = 1000; int i; struct timeval tv; printf("test: speed [/nTALLOC VS MALLOC SPEED/n]/n"); tv = timeval_current(); count = 0; do { void *p1, *p2, *p3; for (i=0;i<loop;i++) { p1 = talloc_size(ctx, loop % 100); p2 = talloc_strdup(p1, "foo bar"); p3 = talloc_size(p1, 300); talloc_free(p1); } count += 3 * loop; } while (timeval_elapsed(&tv) < 5.0); fprintf(stderr, "talloc: %.0f ops/sec/n", count/timeval_elapsed(&tv)); talloc_free(ctx); tv = timeval_current(); count = 0; do { void *p1, *p2, *p3; for (i=0;i<loop;i++) { p1 = malloc(loop % 100); p2 = strdup("foo bar"); p3 = malloc(300); free(p1); free(p2); free(p3); } count += 3 * loop; } while (timeval_elapsed(&tv) < 5.0); fprintf(stderr, "malloc: %.0f ops/sec/n", count/timeval_elapsed(&tv)); printf("success: speed/n"); return true;}
开发者ID:AllardJ,项目名称:Tomato,代码行数:50,
示例12: void/* * Lock record / db depending on type */static struct lock_request *ctdb_lock_internal(struct ctdb_context *ctdb, struct ctdb_db_context *ctdb_db, TDB_DATA key, uint32_t priority, void (*callback)(void *, bool), void *private_data, enum lock_type type, bool auto_mark){ struct lock_context *lock_ctx = NULL; struct lock_request *request; if (callback == NULL) { DEBUG(DEBUG_WARNING, ("No callback function specified, not locking/n")); return NULL; }#if 0 /* Disable this optimization to ensure first-in-first-out fair * scheduling of lock requests */ /* get a context for this key - search only the pending contexts, * current contexts might in the middle of processing callbacks */ lock_ctx = find_lock_context(ctdb->lock_pending, ctdb_db, key, priority, type);#endif /* No existing context, create one */ if (lock_ctx == NULL) { lock_ctx = talloc_zero(ctdb, struct lock_context); if (lock_ctx == NULL) { DEBUG(DEBUG_ERR, ("Failed to create a new lock context/n")); return NULL; } lock_ctx->type = type; lock_ctx->ctdb = ctdb; lock_ctx->ctdb_db = ctdb_db; lock_ctx->key.dsize = key.dsize; if (key.dsize > 0) { lock_ctx->key.dptr = talloc_memdup(lock_ctx, key.dptr, key.dsize); } else { lock_ctx->key.dptr = NULL; } lock_ctx->priority = priority; lock_ctx->auto_mark = auto_mark; lock_ctx->child = -1; lock_ctx->block_child = -1; DLIST_ADD_END(ctdb->lock_pending, lock_ctx, NULL); ctdb->lock_num_pending++; CTDB_INCREMENT_STAT(ctdb, locks.num_pending); if (ctdb_db) { CTDB_INCREMENT_DB_STAT(ctdb_db, locks.num_pending); } /* Start the timer when we activate the context */ lock_ctx->start_time = timeval_current(); }
开发者ID:AIdrifter,项目名称:samba,代码行数:62,
示例13: nbtd_wins_register_handler/* called when a wins name register has completed*/static void nbtd_wins_register_handler(struct composite_context *c){ NTSTATUS status; struct nbt_name_register_wins io; struct nbtd_iface_name *iname = talloc_get_type(c->async.private_data, struct nbtd_iface_name); TALLOC_CTX *tmp_ctx = talloc_new(iname); status = nbt_name_register_wins_recv(c, tmp_ctx, &io); if (NT_STATUS_EQUAL(status, NT_STATUS_IO_TIMEOUT)) { /* none of the WINS servers responded - try again periodically */ int wins_retry_time = lp_parm_int(iname->iface->nbtsrv->task->lp_ctx, NULL, "nbtd", "wins_retry", 300); event_add_timed(iname->iface->nbtsrv->task->event_ctx, iname, timeval_current_ofs(wins_retry_time, 0), nbtd_wins_register_retry, iname); talloc_free(tmp_ctx); return; } if (!NT_STATUS_IS_OK(status)) { DEBUG(1,("Name register failure with WINS for %s - %s/n", nbt_name_string(tmp_ctx, &iname->name), nt_errstr(status))); talloc_free(tmp_ctx); return; } if (io.out.rcode != 0) { DEBUG(1,("WINS server %s rejected name register of %s - %s/n", io.out.wins_server, nbt_name_string(tmp_ctx, &iname->name), nt_errstr(nbt_rcode_to_ntstatus(io.out.rcode)))); iname->nb_flags |= NBT_NM_CONFLICT; talloc_free(tmp_ctx); return; } /* success - start a periodic name refresh */ iname->nb_flags |= NBT_NM_ACTIVE; if (iname->wins_server) { /* * talloc_free() would generate a warning, * so steal it into the tmp context */ talloc_steal(tmp_ctx, iname->wins_server); } iname->wins_server = talloc_steal(iname, io.out.wins_server); iname->registration_time = timeval_current(); nbtd_wins_start_refresh_timer(iname); DEBUG(3,("Registered %s with WINS server %s/n", nbt_name_string(tmp_ctx, &iname->name), iname->wins_server)); talloc_free(tmp_ctx);}
开发者ID:0x24bin,项目名称:winexe-1,代码行数:60,
示例14: ctdb_statistics_updatestatic void ctdb_statistics_update(struct tevent_context *ev, struct tevent_timer *te, struct timeval t, void *p){ struct ctdb_context *ctdb = talloc_get_type(p, struct ctdb_context); memmove(&ctdb->statistics_history[1], &ctdb->statistics_history[0], (MAX_STAT_HISTORY-1)*sizeof(struct ctdb_statistics)); memcpy(&ctdb->statistics_history[0], &ctdb->statistics_current, sizeof(struct ctdb_statistics)); ctdb->statistics_history[0].statistics_current_time = timeval_current(); bzero(&ctdb->statistics_current, sizeof(struct ctdb_statistics)); ctdb->statistics_current.statistics_start_time = timeval_current(); tevent_add_timer(ctdb->ev, ctdb, timeval_current_ofs(ctdb->tunable.stat_history_interval, 0), ctdb_statistics_update, ctdb);}
开发者ID:Alexander--,项目名称:samba,代码行数:18,
示例15: recalc_brl_timeoutstatic bool recalc_brl_timeout(void){ struct blocking_lock_record *blr; struct timeval next_timeout; TALLOC_FREE(brl_timeout); next_timeout = timeval_zero(); for (blr = blocking_lock_queue; blr; blr = blr->next) { if (timeval_is_zero(&blr->expire_time)) { /* * If we're blocked on pid 0xFFFFFFFF this is * a POSIX lock, so calculate a timeout of * 10 seconds into the future. */ if (blr->blocking_pid == 0xFFFFFFFF) { struct timeval psx_to = timeval_current_ofs(10, 0); next_timeout = timeval_min(&next_timeout, &psx_to); } continue; } if (timeval_is_zero(&next_timeout)) { next_timeout = blr->expire_time; } else { next_timeout = timeval_min(&next_timeout, &blr->expire_time); } } if (timeval_is_zero(&next_timeout)) { DEBUG(10, ("Next timeout = Infinite./n")); return True; } if (DEBUGLVL(10)) { struct timeval cur, from_now; cur = timeval_current(); from_now = timeval_until(&cur, &next_timeout); DEBUG(10, ("Next timeout = %d.%d seconds from now./n", (int)from_now.tv_sec, (int)from_now.tv_usec)); } if (!(brl_timeout = event_add_timed(smbd_event_context(), NULL, next_timeout, brl_timeout_fn, NULL))) { return False; } return True;}
开发者ID:gojdic,项目名称:samba,代码行数:55,
示例16: nbtd_wins_refresh_handler/* called when a wins name refresh has completed*/static void nbtd_wins_refresh_handler(struct composite_context *c){ NTSTATUS status; struct nbt_name_refresh_wins io; struct nbtd_iface_name *iname = talloc_get_type(c->async.private_data, struct nbtd_iface_name); TALLOC_CTX *tmp_ctx = talloc_new(iname); status = nbt_name_refresh_wins_recv(c, tmp_ctx, &io); if (NT_STATUS_EQUAL(status, NT_STATUS_IO_TIMEOUT)) { /* our WINS server is dead - start registration over from scratch */ DEBUG(2,("Failed to refresh %s with WINS server %s/n", nbt_name_string(tmp_ctx, &iname->name), iname->wins_server)); talloc_free(tmp_ctx); nbtd_winsclient_register(iname); return; } if (!NT_STATUS_IS_OK(status)) { DEBUG(1,("Name refresh failure with WINS for %s - %s/n", nbt_name_string(tmp_ctx, &iname->name), nt_errstr(status))); talloc_free(tmp_ctx); return; } if (io.out.rcode != 0) { DEBUG(1,("WINS server %s rejected name refresh of %s - %s/n", io.out.wins_server, nbt_name_string(tmp_ctx, &iname->name), nt_errstr(nbt_rcode_to_ntstatus(io.out.rcode)))); iname->nb_flags |= NBT_NM_CONFLICT; talloc_free(tmp_ctx); return; } DEBUG(4,("Refreshed name %s with WINS server %s/n", nbt_name_string(tmp_ctx, &iname->name), iname->wins_server)); /* success - start a periodic name refresh */ iname->nb_flags |= NBT_NM_ACTIVE; if (iname->wins_server) { /* * talloc_free() would generate a warning, * so steal it into the tmp context */ talloc_steal(tmp_ctx, iname->wins_server); } iname->wins_server = talloc_steal(iname, io.out.wins_server); iname->registration_time = timeval_current(); nbtd_wins_start_refresh_timer(iname); talloc_free(tmp_ctx);}
开发者ID:0x24bin,项目名称:winexe-1,代码行数:56,
示例17: nbio_target_ratevoid nbio_target_rate(double rate){ static double last_bytes; static struct timeval last_time; double tdelay; if (last_bytes == 0) { last_bytes = children[nbio_id].bytes; last_time = timeval_current(); return; } tdelay = (children[nbio_id].bytes - last_bytes)/(1.0e6*rate) - timeval_elapsed(&last_time); if (tdelay > 0) { smb_msleep(tdelay*1000); } else { children[nbio_id].max_latency = MAX(children[nbio_id].max_latency, -tdelay); } last_time = timeval_current(); last_bytes = children[nbio_id].bytes;}
开发者ID:DanilKorotenko,项目名称:samba,代码行数:22,
示例18: nbio_shmemvoid nbio_shmem(int n, int t_timelimit, int t_warmup){ nprocs = n; children = anonymous_shared_allocate(sizeof(*children) * nprocs); if (!children) { printf("Failed to setup shared memory!/n"); nb_exit(1); } memset(children, 0, sizeof(*children) * nprocs); timelimit = t_timelimit; warmup = t_warmup; in_cleanup = 0; tv_start = timeval_current();}
开发者ID:DanilKorotenko,项目名称:samba,代码行数:14,
示例19: lsa_secret_set_commonstatic NTSTATUS lsa_secret_set_common(TALLOC_CTX *mem_ctx, const char *key, struct lsa_secret *secret, DATA_BLOB *secret_current, DATA_BLOB *secret_old, struct security_descriptor *sd){ enum ndr_err_code ndr_err; DATA_BLOB blob; struct timeval now = timeval_current(); if (!secret) { secret = talloc_zero(mem_ctx, struct lsa_secret); }
开发者ID:Alexander--,项目名称:samba,代码行数:14,
示例20: timeval_currentstruct timeval *get_timed_events_timeout(struct timeval *to_ret){ struct timeval now; if (timed_events == NULL) { return NULL; } now = timeval_current(); *to_ret = timeval_until(&now, &timed_events->when); DEBUG(10, ("timed_events_timeout: %d/%d/n", (int)to_ret->tv_sec, (int)to_ret->tv_usec)); return to_ret;}
开发者ID:Refection,项目名称:freestyledash,代码行数:16,
示例21: run_child/* main child loop */static void run_child(struct child *child){ srandom(time(NULL) ^ getpid()); while (1) { double latency; unsigned fnumber = random() % options.nfiles; char *fname = filename(fnumber); if (kill(parent_pid, 0) != 0) { /* parent has exited */ exit(0); } child->tv_start = timeval_current(); child->op = random() % OP_ENDOFLIST; switch (child->op) { case OP_LOADFILE: child_loadfile(child, fname, fnumber); break; case OP_SAVEFILE: child_savefile(child, fname, fnumber); break; case OP_MIGRATE: child_migrate(child, fname); break; case OP_GETOFFLINE: child_getoffline(child, fname); break; case OP_ENDOFLIST: break; } latency = timeval_elapsed(&child->tv_start); if (latency > child->latencies[child->op]) { child->latencies[child->op] = latency; } if (latency > child->worst_latencies[child->op]) { child->worst_latencies[child->op] = latency; } child->count++; free(fname); }}
开发者ID:tridge,项目名称:junkcode,代码行数:49,
示例22: smbsrv_session_sesssetup_finished/* * the session will be marked as valid for usage * by attaching a auth_session_info to the session. * * session_info will be talloc_stealed */NTSTATUS smbsrv_session_sesssetup_finished(struct smbsrv_session *sess, struct auth_session_info *session_info){ /* this check is to catch programmer errors */ if (!session_info) { talloc_free(sess); return NT_STATUS_ACCESS_DENIED; } /* mark the session as successful authenticated */ sess->session_info = talloc_steal(sess, session_info); /* now fill in some statistics */ sess->statistics.auth_time = timeval_current(); return NT_STATUS_OK;}
开发者ID:gojdic,项目名称:samba,代码行数:23,
示例23: child_op/* one child operation */static void child_op(struct child_struct *child, const char *opname, const char *fname, const char *fname2, char **params, const char *status){ static struct dbench_op prev_op; struct dbench_op op; unsigned i; child->lasttime = timeval_current(); ZERO_STRUCT(op); op.child = child; op.op = opname; op.fname = fname; op.fname2 = fname2; op.status = status; for (i=0;i<sizeof(op.params)/sizeof(op.params[0]);i++) { switch (params[i][0]) { case '*': case '+': op.params[i] = parse_special(params[i], prev_op.params[i]); break; default: op.params[i] = params[i]?ival(params[i]):0; } } prev_op = op; if (strcasecmp(op.op, "Sleep") == 0) { nb_sleep(op.params[0]); return; } for (i=0;nb_ops->ops[i].name;i++) { if (strcasecmp(op.op, nb_ops->ops[i].name) == 0) { nb_ops->ops[i].fn(&op); finish_op(child, &child->ops[i]); return; } } printf("[%u] Unknown operation %s in pid %u/n", child->line, op.op, (unsigned)getpid());}
开发者ID:anushshetty,项目名称:glustersanitytools,代码行数:48,
示例24: test_sync_resolve/* test resolution using sync method*/static bool test_sync_resolve(struct torture_context *tctx){ int timelimit = torture_setting_int(tctx, "timelimit", 2); struct timeval tv = timeval_current(); int count = 0; const char *host = torture_setting_string(tctx, "host", NULL); torture_comment(tctx, "Testing sync resolve of '%s' for %d seconds/n", host, timelimit); while (timeval_elapsed(&tv) < timelimit) { inet_ntoa(interpret_addr2(host)); count++; } torture_comment(tctx, "sync rate of %.1f resolves/sec/n", count/timeval_elapsed(&tv)); return true;}
开发者ID:0x24bin,项目名称:winexe-1,代码行数:21,
示例25: torture_dirtest1/* test directory listing speed */bool torture_dirtest1(struct torture_context *tctx, struct smbcli_state *cli){ int i; int fnum; bool correct = true; extern int torture_numops; struct timeval tv; torture_comment(tctx, "Creating %d random filenames/n", torture_numops); srandom(0); tv = timeval_current(); for (i=0;i<torture_numops;i++) { char *fname; asprintf(&fname, "//%x", (int)random()); fnum = smbcli_open(cli->tree, fname, O_RDWR|O_CREAT, DENY_NONE); if (fnum == -1) { fprintf(stderr,"(%s) Failed to open %s/n", __location__, fname); return false; } smbcli_close(cli->tree, fnum); free(fname); } torture_comment(tctx, "Matched %d/n", smbcli_list(cli->tree, "a*.*", 0, list_fn, NULL)); torture_comment(tctx, "Matched %d/n", smbcli_list(cli->tree, "b*.*", 0, list_fn, NULL)); torture_comment(tctx, "Matched %d/n", smbcli_list(cli->tree, "xyzabc", 0, list_fn, NULL)); torture_comment(tctx, "dirtest core %g seconds/n", timeval_elapsed(&tv)); srandom(0); for (i=0;i<torture_numops;i++) { char *fname; asprintf(&fname, "//%x", (int)random()); smbcli_unlink(cli->tree, fname); free(fname); } return correct;}
开发者ID:AllardJ,项目名称:Tomato,代码行数:45,
示例26: kccdrs_replica_get_info_pending_ops/* get pending ops info for a specified DN*/static WERROR kccdrs_replica_get_info_pending_ops(TALLOC_CTX *mem_ctx, struct ldb_context *samdb, struct drsuapi_DsReplicaGetInfo *r, union drsuapi_DsReplicaInfo *reply, struct ldb_dn *dn){ struct timeval now = timeval_current(); if (!ldb_dn_validate(dn)) { return WERR_INVALID_PARAMETER; } reply->pendingops = talloc(mem_ctx, struct drsuapi_DsReplicaOpCtr); W_ERROR_HAVE_NO_MEMORY(reply->pendingops); /* claim no pending ops for now */ reply->pendingops->time = timeval_to_nttime(&now); reply->pendingops->count = 0; reply->pendingops->array = NULL; return WERR_OK;}
开发者ID:Alexandr-Galko,项目名称:samba,代码行数:24,
示例27: torture_winbind_struct_pingstatic bool torture_winbind_struct_ping(struct torture_context *torture){ struct timeval tv = timeval_current(); int timelimit = torture_setting_int(torture, "timelimit", 5); uint32_t total = 0; torture_comment(torture, "Running WINBINDD_PING (struct based) for %d seconds/n", timelimit); while (timeval_elapsed(&tv) < timelimit) { DO_STRUCT_REQ_REP(WINBINDD_PING, NULL, NULL); total++; } torture_comment(torture, "%u (%.1f/s) WINBINDD_PING (struct based)/n", total, total / timeval_elapsed(&tv)); return true;}
开发者ID:AIdrifter,项目名称:samba,代码行数:21,
示例28: create_sys_acl_blobstatic NTSTATUS create_sys_acl_blob(const struct security_descriptor *psd, DATA_BLOB *pblob, uint16_t hash_type, uint8_t hash[XATTR_SD_HASH_SIZE], const char *description, uint8_t sys_acl_hash[XATTR_SD_HASH_SIZE]){ struct xattr_NTACL xacl; struct security_descriptor_hash_v4 sd_hs4; enum ndr_err_code ndr_err; TALLOC_CTX *ctx = talloc_tos(); NTTIME nttime_now; struct timeval now = timeval_current(); nttime_now = timeval_to_nttime(&now); ZERO_STRUCT(xacl); ZERO_STRUCT(sd_hs4); xacl.version = 4; xacl.info.sd_hs4 = &sd_hs4; xacl.info.sd_hs4->sd = discard_const_p(struct security_descriptor, psd); xacl.info.sd_hs4->hash_type = hash_type; memcpy(&xacl.info.sd_hs4->hash[0], hash, XATTR_SD_HASH_SIZE); xacl.info.sd_hs4->description = description; xacl.info.sd_hs4->time = nttime_now; memcpy(&xacl.info.sd_hs4->sys_acl_hash[0], sys_acl_hash, XATTR_SD_HASH_SIZE); ndr_err = ndr_push_struct_blob( pblob, ctx, &xacl, (ndr_push_flags_fn_t)ndr_push_xattr_NTACL); if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { DEBUG(5, ("create_acl_blob: ndr_push_xattr_NTACL failed: %s/n", ndr_errstr(ndr_err))); return ndr_map_error2ntstatus(ndr_err); } return NT_STATUS_OK;}
开发者ID:hackery,项目名称:samba,代码行数:39,
示例29: ccache_regain_all_nowvoid ccache_regain_all_now(void){ struct WINBINDD_CCACHE_ENTRY *cur; struct timeval t = timeval_current(); for (cur = ccache_list; cur; cur = cur->next) { struct tevent_timer *new_event; /* * if refresh_time is 0, we know that the * the event has the krb5_ticket_gain_handler */ if (cur->refresh_time == 0) { new_event = tevent_add_timer(winbind_event_context(), cur, t, krb5_ticket_gain_handler, cur); } else { new_event = tevent_add_timer(winbind_event_context(), cur, t, krb5_ticket_refresh_handler, cur); } if (!new_event) { continue; } TALLOC_FREE(cur->event); cur->event = new_event; } return;}
开发者ID:AIdrifter,项目名称:samba,代码行数:36,
注:本文中的timeval_current函数示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 C++ timeval_current_ofs函数代码示例 C++ timevalToNano函数代码示例 |