Lines Matching refs:proc
73 Process *proc = Process_Create(NULL, "init");
74 curProc[0] = Thread_Create(proc);
96 Thread_Create(Process *proc)
105 ASSERT(proc != NULL);
107 thr->tid = proc->nextThreadID++;
114 Process_Retain(proc);
116 Spinlock_Lock(&proc->lock);
117 thr->proc = proc;
118 proc->threads++;
119 TAILQ_INSERT_TAIL(&proc->threadList, thr, threadList);
120 thr->space = proc->space;
121 thr->ustack = proc->ustackNext;
122 proc->ustackNext += MEM_USERSPACE_STKLEN;
123 Spinlock_Unlock(&proc->lock);
150 Process *proc = oldThr->proc;
158 thr->tid = proc->nextThreadID++;
169 Spinlock_Lock(&proc->lock);
170 thr->ustack = proc->ustackNext;
171 proc->ustackNext += MEM_USERSPACE_STKLEN;
172 Spinlock_Unlock(&proc->lock);
182 Process_Retain(proc);
184 Spinlock_Lock(&proc->lock);
185 thr->proc = proc;
187 proc->threads++;
188 TAILQ_INSERT_TAIL(&proc->threadList, thr, threadList);
189 Spinlock_Unlock(&proc->lock);
197 Process *proc = thr->proc;
200 ASSERT(proc->pid != 1);
204 Spinlock_Lock(&proc->lock);
205 proc->threads--;
206 TAILQ_REMOVE(&proc->threadList, thr, threadList);
207 Spinlock_Unlock(&proc->lock);
213 Process_Release(thr->proc);
223 * @param [in] proc Process within which to find a specific thread.
229 Thread_Lookup(Process *proc, uint64_t tid)
234 Spinlock_Lock(&proc->lock);
235 TAILQ_FOREACH(t, &proc->threadList, threadList) {
242 Spinlock_Unlock(&proc->lock);
284 ASSERT(thr->proc != NULL);
287 t = TAILQ_FIRST(&thr->proc->zombieQueue);
292 TAILQ_REMOVE(&thr->proc->zombieQueue, t, schedQueue);
299 TAILQ_FOREACH(t, &thr->proc->zombieQueue, schedQueue) {
301 TAILQ_REMOVE(&thr->proc->zombieQueue, t, schedQueue);
348 if (thr->proc) {
349 Process_Dump(thr->proc);