summaryrefslogtreecommitdiff
path: root/pipe.c
AgeCommit message (Collapse)AuthorFilesLines
2019-05-31-initrd fs.img, ramdisk.c, file systemRobert Morris1-1/+1
2017-01-31Start of an experiment to remove the use of gs for cpu local variables.Frans Kaashoek1-2/+2
2016-09-11Replace I_BUSY with sleep locksFrans Kaashoek1-1/+2
2011-08-29Revert "Introduce and use sleeplocks instead of BUSY flags"Frans Kaashoek1-1/+1
My changes have a race with re-used bufs and the code doesn't seem to get shorter Keep the changes that fixed ip->off race This reverts commit 3a5fa7ed9020eaf8ab843a16d26db7393b2ec072. Conflicts: defs.h file.c file.h
2011-08-26Introduce and use sleeplocks instead of BUSY flagsFrans Kaashoek1-1/+1
Remove I_BUSY, B_BUSY, and intrans defs and usages One spinlock per buf to avoid ugly loop in bget fix race in filewrite (don't update f->off after releasing lock)
2011-01-11make new code like old codeRuss Cox1-2/+2
Variable declarations at top of function, separate from initialization. Use == 0 instead of ! for checking pointers. Consistent spacing around {, *, casts. Declare 0-parameter functions as (void) not (). Integer valued functions return -1 on failure, 0 on success.
2010-08-31kalloc/kfree now only a page at a timeRobert Morris1-3/+3
do not keep sorted contiguous free list
2009-08-30assorted fixes:Russ Cox1-2/+2
* rename c/cp to cpu/proc * rename cpu.context to cpu.scheduler * fix some comments * formatting for printout
2009-08-08shuffle and tweak for formatting.Russ Cox1-1/+2
pdf has very good page breaks now. would be a good copy for fall 2009.
2009-07-12more doc tweaksRuss Cox1-20/+20
2009-05-31simplifyrsc1-6/+2
2008-10-15as rtm noticed, avoid doubly-freeing pipe pagekolya1-3/+4
2008-08-22clean up circular buffers, so pipe can queue 512 bytes rather than 511kolya1-7/+5
2007-08-28spaces around else for rtmrsc1-1/+1
2007-08-28more consistent spacingrsc1-1/+1
2007-08-28formattingrsc1-1/+2
2007-08-28remove _ from pipe; be like filersc1-4/+4
2007-08-27delete unnecessary #include linesrsc1-2/+1
2007-08-27nitsrsc1-12/+10
2007-08-14i cannot prove that release before wakeup is wrong, but i cannot convince ↵rsc1-8/+2
myself it is right either
2007-08-14formattingrsc1-1/+2
2007-08-10Make cp a magic symbol.rsc1-2/+2
2007-08-10move variable declaration uprsc1-2/+3
2007-08-09spacingrsc1-4/+4
2007-08-08check p->killed for long-lived sleepsrsc1-2/+2
2006-09-08stop using fd to name filesrsc1-18/+18
2006-09-06fd_* => file_*rsc1-4/+4
2006-09-06fd.* -> file.*rsc1-1/+1
2006-09-06struct fd -> struct filersc1-1/+1
2006-09-06writeable => writablersc1-4/+4
2006-09-06standardize various * conventionsrsc1-4/+4
2006-08-10interrupts could be recursive since lapic_eoi() called before rtirtm1-1/+1
so fast interrupts overflow the kernel stack fix: cli() before lapic_eoi()
2006-07-18prevent longjmp / forkret from writing over tf->edirtm1-0/+5
2006-07-15no more recursive locksrtm1-7/+12
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
2006-07-12no more big kernel lockrtm1-0/+10
succeeds at usertests.c pipe test
2006-07-01swtch saves callee-saved registersrtm1-2/+12
swtch idles on per-CPU stack, not on calling process's stack fix pipe bugs usertest.c tests pipes, fork, exit, close
2006-06-27file descriptorsrtm1-0/+100
pipes