- Sep 27, 2007
-
-
rsc authored
-
- Sep 26, 2007
-
-
rsc authored
the macro expansion of "char *cp;" turned into char *(curproc[cpu()]); which declares a dynamically sized array of char* called curproc. so then &cp == &(curproc[cpu()]) was actually a stack variable as "expected". it was one past the end of the array, but the implicit alloca allocated more than was necessary. do not tell me that making cp a #define was a bad idea. there are worse problems to fix. more on that later.
-
rsc authored
-
- Aug 24, 2007
- Aug 21, 2007
-
-
rsc authored
-
- Aug 20, 2007
-
-
rsc authored
-
- Aug 10, 2007
- Aug 08, 2007
- Sep 07, 2006
- Sep 06, 2006
-
-
rsc authored
-
- Aug 29, 2006
- Aug 24, 2006
- Aug 19, 2006
-
-
kaashoek authored
cd in shell nits in mkdir, ls, etc.
-
- Aug 15, 2006
-
-
rtm authored
each cpu[] has its own gdt and tss no per-proc gdt or tss, re-write cpu's in scheduler (you win, cliff) main0() switches to cpu[0].mpstack
-
- Aug 13, 2006
-
-
rtm authored
don't hold fd table lock across idecref() (latter does block i/o) idecref calls iput() in case last ref -> freeing inode dir size is 512 * # blocks, so readi/writei &c work unlink deletes dirent even if ip->nlink > 0
-
- Aug 12, 2006
- Jul 28, 2006
-
-
rtm authored
-
- Jul 16, 2006
- Jul 15, 2006
-
-
rtm authored
wakeup1() assumes you hold proc_table_lock sleep(chan, lock) provides atomic sleep-and-release to wait for condition ugly code in swtch/scheduler to implement new sleep fix lots of bugs in pipes, wait, and exit fix bugs if timer interrupt goes off in schedule() console locks per line, not per byte
-
- Jul 12, 2006
- Jul 11, 2006
- Jul 01, 2006
-
-
rtm authored
swtch idles on per-CPU stack, not on calling process's stack fix pipe bugs usertest.c tests pipes, fork, exit, close
-