您当前的位置:首页 > IT编程 > C++
| C语言 | Java | VB | VC | python | Android | TensorFlow | C++ | oracle | 学术与代码 | cnn卷积神经网络 | gnn | 图像修复 | Keras | 数据集 | Neo4j | 自然语言处理 | 深度学习 | 医学CAD | 医学影像 | 超参数 | pointnet | pytorch | 异常检测 | Transformers | 情感分类 | 知识图谱 |

自学教程:C++ task_alloc函数代码示例

51自学网 2021-06-03 08:40:33
  C++
这篇教程C++ task_alloc函数代码示例写得很实用,希望能帮到您。

本文整理汇总了C++中task_alloc函数的典型用法代码示例。如果您正苦于以下问题:C++ task_alloc函数的具体用法?C++ task_alloc怎么用?C++ task_alloc使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。

在下文中一共展示了task_alloc函数的27个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。

示例1: taskq_dispatch

taskqid_ttaskq_dispatch(taskq_t *tq, task_func_t func, void *arg, uint_t tqflags){	task_t *t;	if (taskq_now) {		func(arg);		return (1);	}	mutex_enter(&tq->tq_lock);	ASSERT(tq->tq_flags & TASKQ_ACTIVE);	if ((t = task_alloc(tq, tqflags)) == NULL) {		mutex_exit(&tq->tq_lock);		return (0);	}	t->task_next = &tq->tq_task;	t->task_prev = tq->tq_task.task_prev;	t->task_next->task_prev = t;	t->task_prev->task_next = t;	t->task_func = func;	t->task_arg = arg;	cv_signal(&tq->tq_dispatch_cv);	mutex_exit(&tq->tq_lock);	return (1);}
开发者ID:sriramnrn,项目名称:zfs-port,代码行数:26,


示例2: testAllocHandlesOutOfMemory

void testAllocHandlesOutOfMemory(void){	long i;	int dealtWithOutOfMemory = 0;		printf(" => testAllocHandlesOutOfMemory/n");	REAL_TASK_COUNT = 0;	for(i = FAIR_TASK_COUNT; i <= MAX_TASK_COUNT && dealtWithOutOfMemory == 0; i++){		/* Point test slot i to the actual task_alloc() result. */		tasks[i] = NULL;		tasks[i] = task_alloc();		if (tasks[i] != NULL){			/* Slots must be in the allocated space */			assert( (unsigned long)tasks[i] <= ( (unsigned long)get_MEM_BLOCK_START() + MEM_BLOCK_SIZE ) );		} else {			/* If the allocation was out of memory, NULL may have been returned, which passes the test */			dealtWithOutOfMemory = 1;			REAL_TASK_COUNT = i;		}	}	assert(REAL_TASK_COUNT >= FAIR_TASK_COUNT);	assert(REAL_TASK_COUNT <= MAX_TASK_COUNT);	assert( dealtWithOutOfMemory );}
开发者ID:thomasbrus,项目名称:besturingssystemen,代码行数:26,


示例3: taskq_create

/*ARGSUSED*/taskq_t *taskq_create(const char *name, int nthreads, pri_t pri,	int minalloc, int maxalloc, uint_t flags){	taskq_t *tq = kmem_zalloc(sizeof (taskq_t), KM_SLEEP);	int t;	rw_init(&tq->tq_threadlock, NULL, RW_DEFAULT, NULL);	mutex_init(&tq->tq_lock, NULL, MUTEX_DEFAULT, NULL);	cv_init(&tq->tq_dispatch_cv, NULL, CV_DEFAULT, NULL);	cv_init(&tq->tq_wait_cv, NULL, CV_DEFAULT, NULL);	tq->tq_flags = flags | TASKQ_ACTIVE;	tq->tq_active = nthreads;	tq->tq_nthreads = nthreads;	tq->tq_minalloc = minalloc;	tq->tq_maxalloc = maxalloc;	tq->tq_task.task_next = &tq->tq_task;	tq->tq_task.task_prev = &tq->tq_task;	tq->tq_threadlist = kmem_alloc(nthreads * sizeof (pthread_t), KM_SLEEP);	if (flags & TASKQ_PREPOPULATE) {		mutex_enter(&tq->tq_lock);		while (minalloc-- > 0)			task_free(tq, task_alloc(tq, KM_SLEEP));		mutex_exit(&tq->tq_lock);	}	for (t = 0; t < nthreads; t++)		pthread_create(&tq->tq_threadlist[t], NULL, taskq_thread, tq);	return (tq);}
开发者ID:sriramnrn,项目名称:zfs-port,代码行数:33,


示例4: testAllocUniqueFreeMemory

void testAllocUniqueFreeMemory(void){	int i;	task_t *prev_task = NULL;	printf(" => testAllocUniqueFreeMemory/n");	for(i = 0; i < FAIR_TASK_COUNT; i++){		/* Point test slot i to the actual task_alloc() result. */		tasks[i] = task_alloc();		/* Slots must be allocated */		assert(tasks[i] != NULL);		/* Cannot assert: Slots must be in the allocated space */		/* Try and set some data */		tasks[i]->id = i;				/* Compare and set prev_task */		if (prev_task != NULL){			/* Slots must be unique in pointer reference */			assert(tasks[i] != prev_task);			/* Slots must thus be unique in value */			assert(tasks[i]->id != prev_task->id);		}		prev_task = tasks[i];		/* Keep track of the amount of tasks*/	}}
开发者ID:atimmer,项目名称:Besturingssystemen,代码行数:27,


示例5: testAllocUniqueFreeMemory

void testAllocUniqueFreeMemory(void){	int i;	task_t *prev_task = NULL;	printf(" => testAllocUniqueFreeMemory/n");	for(i = 0; i < FAIR_TASK_COUNT; i++){		/* Point test slot i to the actual task_alloc() result. */		tasks[i] = task_alloc();		/* Slots must be allocated */		assert(tasks[i] != NULL);		/* Slots must be in the allocated space */		assert( (unsigned long)tasks[i] <= ( (unsigned long)get_MEM_BLOCK_START() + MEM_BLOCK_SIZE ) );		/* Try and set some data */		tasks[i]->id = i;				/* Compare and set prev_task */		if (prev_task != NULL){			/* Slots must be unique in pointer reference */			assert(tasks[i] != prev_task);			/* Slots must thus be unique in value */			assert(tasks[i]->id != prev_task->id);		}		prev_task = tasks[i];	}}
开发者ID:thomasbrus,项目名称:besturingssystemen,代码行数:27,


示例6: memman_alloc_4k

struct TASK *task_init(struct MEMMAN *memman){    int i;    struct TASK *task;    struct SEGMENT_DESCRIPTOR *gdt = (struct SEGMENT_DESCRIPTOR *) ADR_GDT;    taskctl = (struct TASKCTL *) memman_alloc_4k(memman, sizeof(struct TASKCTL));    for (i = 0; i < MAX_TASKS; i++) {	taskctl->tasks0[i].flags = 0;	taskctl->tasks0[i].sel = (TASK_GDT0 + i) * 8;	set_segmdesc(gdt + TASK_GDT0 + i, 103, (int) &taskctl->tasks0[i].tss, AR_TSS32);    }    for (i = 0; i < MAX_TASKLEVELS; i++) {		taskctl->level[i].running = 0;		taskctl->level[i].now = 0;	}    task = task_alloc();    task->flags = 2;    task->priority = 2;    task->level = 0;    task_add(task);    task_switchsub();    load_tr(task->sel);    task_timer = timer_alloc();    timer_settime(task_timer, task->priority);    return task;}
开发者ID:LinuxKernelDevelopment,项目名称:30,代码行数:26,


示例7: spmd_add_resolver_task

static intspmd_add_resolver_task(struct resolver_sock *rshead){    struct task *t;    struct resolver_sock *rs = NULL;    if (!rshead) {        SPMD_PLOG(SPMD_L_INTERR, "Argument rshead is NULL");        return -1;    }    rs = rshead;    while (rs) {        t = task_alloc(MAX_UDP_DNS_SIZE);        t->fd = rs->s;        t->flags = 0;        t->sa = &rs->sock.sa;        t->salen = sizeof(rs->sock);/* cant use SPMD_SALEN() */        t->func = query_recv;        task_list_add(t, &spmd_task_root->read);        rs = rs->next;    }    return 0;}
开发者ID:hmatyschok,项目名称:MeshBSD,代码行数:27,


示例8: sheet_alloc

struct SHEET *open_console(struct SHTCTL *shtctl, unsigned int memtotal){	struct MEMMAN *memman = (struct MEMMAN *) MEMMAN_ADDR;	struct SHEET *sht = sheet_alloc(shtctl);	unsigned char *buf = (unsigned char *) memman_alloc_4k(memman, 256 * 165);	struct TASK *task = task_alloc();	int *cons_fifo = (int *) memman_alloc_4k(memman, 128 * 4);	sheet_setbuf(sht, buf, 256, 165, -1); /* 透明色なし */	make_window8(buf, 256, 165, "console", 0);	make_textbox8(sht, 8, 28, 240, 128, COL8_000000);	task->cons_stack = memman_alloc_4k(memman, 64 * 1024);	task->tss.esp = task->cons_stack + 64 * 1024 - 12;	task->tss.eip = (int) &console_task;	task->tss.es = 1 * 8;	task->tss.cs = 2 * 8;	task->tss.ss = 1 * 8;	task->tss.ds = 1 * 8;	task->tss.fs = 1 * 8;	task->tss.gs = 1 * 8;	*((int *) (task->tss.esp + 4)) = (int) sht;	*((int *) (task->tss.esp + 8)) = memtotal;	task_run(task, 2, 2); /* level=2, priority=2 */	sht->task = task;	sht->flags |= 0x20;	/* カ
C++ task_cpu函数代码示例
C++ taskSpawn函数代码示例
万事OK自学网:51自学网_软件自学网_CAD自学网自学excel、自学PS、自学CAD、自学C语言、自学css3实例,是一个通过网络自主学习工作技能的自学平台,网友喜欢的软件自学网站。