HelenOS
HelenOS-doc
HelenOS-historic
Català-Valencià – Catalan
中文 – Chinese (Simplified)
中文 – Chinese (Traditional)
Česky – Czech
Dansk – Danish
Nederlands – Dutch
English – English
Suomi – Finnish
Français – French
Deutsch – German
עברית – Hebrew
हिंदी – Hindi
Magyar – Hungarian
Bahasa Indonesia – Indonesian
Italiano – Italian
日本語 – Japanese
한국어 – Korean
Македонски – Macedonian
मराठी – Marathi
Norsk – Norwegian
Polski – Polish
Português – Portuguese
Português – Portuguese (Brazil)
Русский – Russian
Slovenčina – Slovak
Slovenščina – Slovenian
Español – Spanish
Svenska – Swedish
Türkçe – Turkish
Українська – Ukrainian
Oëzbekcha – Uzbek
Subversion Repositories
HelenOS
(root)
/
kernel
/
trunk
/
generic
/
src
/
synch
/
waitq.c
@ 1681
– Rev 0
Rev
Hide changed files
|
Details
|
Compare with Previous
|
Blame
|
RSS feed
Filtering Options
From rev
To rev
Max revs
Search history for
Show All
Rev
Age
Author
Path
Log message
Diff
Changes
1681
6568 d 6 h
jermar
/kernel/trunk/generic/src/synch/
Avoid tricky race condition between waitq_wakeup() and the pair
of waitq_timeouted_sleep() and waitq_interrupt_sleep().
Mutual exclusion != Synchronization.
/kernel/trunk/generic/src/synch/waitq.c
1593
6572 d 6 h
jermar
/kernel/trunk/generic/src/synch/
When interrupted from sleep, pending timeouts must be unregistered.
/kernel/trunk/generic/src/synch/waitq.c
1580
6572 d 22 h
jermar
/kernel/trunk/generic/src/
Update for task_kill().
/kernel/trunk/generic/src/proc/task.c
/kernel/trunk/generic/src/synch/waitq.c
1579
6573 d 8 h
jermar
/kernel/trunk/generic/
Framework for task_kill().
Some pieces (e.g. implementation of ktask_cleanup() kernel thread and
task_destroy() function) are missing.
Changed locking order for task lock, threads_lock and thread lock from
threads_lock, thread lock, task lock to task lock, threads_lock, thread lock.
/kernel/trunk/generic/include/proc/task.h
/kernel/trunk/generic/include/proc/thread.h
/kernel/trunk/generic/src/proc/task.c
/kernel/trunk/generic/src/proc/thread.c
/kernel/trunk/generic/src/synch/waitq.c
/kernel/trunk/generic/src/syscall/syscall.c
1502
6575 d 17 h
jermar
/kernel/trunk/
Replace nonblocking argument of waitq_sleep_timeout with flags that specify mode of operation.
Now a flag can be used to specify interruptible sleep.
Modify waitq_interrupt_sleep() to only interrupt threads that used this flag.
O
/kernel/trunk/arch/ia32/src/smp/smp.c
/kernel/trunk/generic/include/ipc/ipc.h
/kernel/trunk/generic/include/proc/thread.h
/kernel/trunk/generic/include/synch/condvar.h
/kernel/trunk/generic/include/synch/futex.h
/kernel/trunk/generic/include/synch/mutex.h
/kernel/trunk/generic/include/synch/rwlock.h
/kernel/trunk/generic/include/synch/semaphore.h
/kernel/trunk/generic/include/synch/synch.h
/kernel/trunk/generic/include/synch/waitq.h
/kernel/trunk/generic/src/ipc/ipc.c
/kernel/trunk/generic/src/ipc/sysipc.c
/kernel/trunk/generic/src/proc/thread.c
/kernel/trunk/generic/src/synch/condvar.c
/kernel/trunk/generic/src/synch/futex.c
/kernel/trunk/generic/src/synch/mutex.c
/kernel/trunk/generic/src/synch/rwlock.c
/kernel/trunk/generic/src/synch/semaphore.c
/kernel/trunk/generic/src/synch/waitq.c
1467
6577 d 13 h
jermar
/kernel/trunk/generic/src/synch/
Allow usage of blocking synchronization primitives in functions that are also called during system initialization.
/kernel/trunk/generic/src/synch/waitq.c
1375
6589 d 18 h
jermar
/kernel/trunk/generic/
Fix race in condition variables.
/kernel/trunk/generic/include/synch/waitq.h
/kernel/trunk/generic/src/synch/condvar.c
/kernel/trunk/generic/src/synch/waitq.c
1288
6603 d 18 h
jermar
/kernel/trunk/
Complete implementation of copy_from_uspace() and copy_to_uspace()
for amd64 and ia32. Other architectures still compile and run,
but need to implement their own assembly-only memcpy(), memcpy_from_uspace(),
memcpy_to_uspace() and their failover parts. For these architectures
only dummy implementations are provided.
/kernel/trunk/generic/include/syscall/copy.h
/kernel/trunk/generic/src/syscall/copy.c
/kernel/trunk/Makefile
/kernel/trunk/arch/amd64/include/interrupt.h
/kernel/trunk/arch/amd64/src/asm_utils.S
/kernel/trunk/arch/amd64/src/mm/page.c
/kernel/trunk/arch/ia32/include/interrupt.h
/kernel/trunk/arch/ia32/src/asm.S
/kernel/trunk/arch/ia32/src/boot/boot.S
/kernel/trunk/arch/ia32/src/interrupt.c
/kernel/trunk/arch/ia64/include/interrupt.h
/kernel/trunk/arch/ia64/src/asm.S
/kernel/trunk/arch/ia64/src/mm/tlb.c
/kernel/trunk/arch/mips32/include/exception.h
/kernel/trunk/arch/mips32/src/asm.S
/kernel/trunk/arch/mips32/src/mm/tlb.c
/kernel/trunk/arch/ppc32/include/exception.h
/kernel/trunk/arch/ppc32/include/interrupt.h
/kernel/trunk/arch/ppc32/src/asm.S
/kernel/trunk/arch/ppc32/src/mm/tlb.c
/kernel/trunk/arch/sparc64/include/interrupt.h
/kernel/trunk/arch/sparc64/src/asm.S
/kernel/trunk/generic/include/interrupt.h
/kernel/trunk/generic/include/mm/as.h
/kernel/trunk/generic/include/mm/page.h
/kernel/trunk/generic/include/proc/thread.h
/kernel/trunk/generic/src/ddi/ddi.c
/kernel/trunk/generic/src/ipc/irq.c
/kernel/trunk/generic/src/ipc/sysipc.c
/kernel/trunk/generic/src/mm/as.c
/kernel/trunk/generic/src/mm/slab.c
/kernel/trunk/generic/src/printf/vsnprintf.c
/kernel/trunk/generic/src/proc/task.c
/kernel/trunk/generic/src/proc/thread.c
/kernel/trunk/generic/src/smp/ipi.c
/kernel/trunk/generic/src/synch/waitq.c
1248
6611 d 12 h
jermar
/kernel/trunk/
Add some @file doxygen comments and improve already existing comments.
/kernel/trunk/genarch/src/mm/page_ht.c
/kernel/trunk/genarch/src/mm/page_pt.c
/kernel/trunk/generic/src/adt/bitmap.c
/kernel/trunk/generic/src/adt/btree.c
/kernel/trunk/generic/src/adt/hash_table.c
/kernel/trunk/generic/src/adt/list.c
/kernel/trunk/generic/src/ddi/ddi.c
/kernel/trunk/generic/src/debug/symtab.c
/kernel/trunk/generic/src/ipc/sysipc.c
/kernel/trunk/generic/src/lib/elf.c
/kernel/trunk/generic/src/main/kinit.c
/kernel/trunk/generic/src/main/main.c
/kernel/trunk/generic/src/main/uinit.c
/kernel/trunk/generic/src/mm/as.c
/kernel/trunk/generic/src/mm/buddy.c
/kernel/trunk/generic/src/mm/frame.c
/kernel/trunk/generic/src/mm/page.c
/kernel/trunk/generic/src/mm/slab.c
/kernel/trunk/generic/src/mm/tlb.c
/kernel/trunk/generic/src/proc/scheduler.c
/kernel/trunk/generic/src/proc/task.c
/kernel/trunk/generic/src/proc/the.c
/kernel/trunk/generic/src/proc/thread.c
/kernel/trunk/generic/src/synch/condvar.c
/kernel/trunk/generic/src/synch/futex.c
/kernel/trunk/generic/src/synch/mutex.c
/kernel/trunk/generic/src/synch/rwlock.c
/kernel/trunk/generic/src/synch/semaphore.c
/kernel/trunk/generic/src/synch/waitq.c
1229
6614 d 17 h
jermar
/kernel/trunk/
Remove the outdated TODO file.
Improve doxygen comments here and there.
/kernel/trunk/doc/TODO
/kernel/trunk/genarch/src/mm/page_ht.c
/kernel/trunk/genarch/src/mm/page_pt.c
/kernel/trunk/generic/include/mm/buddy.h
/kernel/trunk/generic/src/debug/print.c
/kernel/trunk/generic/src/main/main.c
/kernel/trunk/generic/src/mm/buddy.c
/kernel/trunk/generic/src/mm/page.c
/kernel/trunk/generic/src/proc/scheduler.c
/kernel/trunk/generic/src/proc/task.c
/kernel/trunk/generic/src/synch/condvar.c
/kernel/trunk/generic/src/synch/futex.c
/kernel/trunk/generic/src/synch/mutex.c
/kernel/trunk/generic/src/synch/rwlock.c
/kernel/trunk/generic/src/synch/semaphore.c
/kernel/trunk/generic/src/synch/waitq.c
1158
6629 d 15 h
jermar
/kernel/trunk/generic/
Replace list of all threads with B+tree of all threads.
Add function thread_exists() for querying existence of thread.
/kernel/trunk/generic/include/proc/thread.h
/kernel/trunk/generic/src/proc/thread.c
/kernel/trunk/generic/src/synch/waitq.c
1156
6629 d 15 h
jermar
/kernel/trunk/generic/
Sleeping in a wait queue can be now interrupted with
waitq_interrupt_sleep().
/kernel/trunk/generic/include/proc/thread.h
/kernel/trunk/generic/include/synch/synch.h
/kernel/trunk/generic/include/synch/waitq.h
/kernel/trunk/generic/src/synch/waitq.c
1103
6647 d 17 h
jermar
/kernel/trunk/generic/src/
Remove extra before_thread_runs() calls.
/kernel/trunk/generic/src/proc/thread.c
/kernel/trunk/generic/src/synch/waitq.c
788
6692 d 11 h
jermar
/kernel/trunk/
Move list and fifo data types to adt/.
/kernel/trunk/generic/include/adt
/kernel/trunk/generic/include/adt/fifo.h
/kernel/trunk/generic/include/adt/list.h
/kernel/trunk/generic/src/adt
/kernel/trunk/generic/src/adt/list.c
/kernel/trunk/generic/include/fifo.h
/kernel/trunk/generic/include/list.h
/kernel/trunk/generic/src/lib/list.c
/kernel/trunk/Makefile
/kernel/trunk/genarch/src/mm/asid.c
/kernel/trunk/genarch/src/mm/asid_fifo.c
/kernel/trunk/generic/include/console/kconsole.h
/kernel/trunk/generic/include/cpu.h
/kernel/trunk/generic/include/mm/as.h
/kernel/trunk/generic/include/mm/frame.h
/kernel/trunk/generic/include/mm/slab.h
/kernel/trunk/generic/include/proc/scheduler.h
/kernel/trunk/generic/include/proc/task.h
/kernel/trunk/generic/include/proc/thread.h
/kernel/trunk/generic/include/synch/waitq.h
/kernel/trunk/generic/include/time/timeout.h
/kernel/trunk/generic/src/console/cmd.c
/kernel/trunk/generic/src/console/kconsole.c
/kernel/trunk/generic/src/cpu/cpu.c
/kernel/trunk/generic/src/mm/as.c
/kernel/trunk/generic/src/mm/buddy.c
/kernel/trunk/generic/src/mm/frame.c
/kernel/trunk/generic/src/mm/slab.c
/kernel/trunk/generic/src/proc/scheduler.c
/kernel/trunk/generic/src/proc/task.c
/kernel/trunk/generic/src/proc/thread.c
/kernel/trunk/generic/src/synch/rwlock.c
/kernel/trunk/generic/src/synch/waitq.c
/kernel/trunk/generic/src/time/clock.c
615
6746 d 18 h
palkovsky
/kernel/trunk/
Cleanups to make it compile with -Wall. Did not catch everything yet.
/kernel/trunk/arch/ia32/src/smp/mps.c
/kernel/trunk/arch/mips32/src/debugger.c
/kernel/trunk/arch/mips32/src/exception.c
/kernel/trunk/arch/mips32/src/fmath.c
/kernel/trunk/generic/include/func.h
/kernel/trunk/generic/include/panic.h
/kernel/trunk/generic/src/debug/print.c
/kernel/trunk/generic/src/lib/func.c
/kernel/trunk/generic/src/main/kinit.c
/kernel/trunk/generic/src/mm/frame.c
/kernel/trunk/generic/src/mm/heap.c
/kernel/trunk/generic/src/synch/waitq.c
/kernel/trunk/generic/src/time/clock.c
557
6752 d 16 h
jermar
/kernel/trunk/
Add comments describing locking rules for some locks.
Cleanup.
/kernel/trunk/arch/ia32/include/atomic.h
/kernel/trunk/generic/include/proc/thread.h
/kernel/trunk/generic/include/synch/waitq.h
/kernel/trunk/generic/src/proc/scheduler.c
/kernel/trunk/generic/src/proc/thread.c
/kernel/trunk/generic/src/synch/rwlock.c
/kernel/trunk/generic/src/synch/spinlock.c
/kernel/trunk/generic/src/synch/waitq.c
552
6753 d 8 h
palkovsky
/kernel/trunk/
Named spinlocks
/kernel/trunk/arch/ia32/src/drivers/i8042.c
/kernel/trunk/generic/include/synch/spinlock.h
/kernel/trunk/generic/src/console/chardev.c
/kernel/trunk/generic/src/console/kconsole.c
/kernel/trunk/generic/src/mm/frame.c
/kernel/trunk/generic/src/mm/heap.c
/kernel/trunk/generic/src/mm/tlb.c
/kernel/trunk/generic/src/mm/vm.c
/kernel/trunk/generic/src/proc/task.c
/kernel/trunk/generic/src/proc/thread.c
/kernel/trunk/generic/src/synch/rwlock.c
/kernel/trunk/generic/src/synch/spinlock.c
/kernel/trunk/generic/src/synch/waitq.c
/kernel/trunk/generic/src/time/timeout.c
/kernel/trunk/tools/config.py
534
6755 d 10 h
jermar
/
Rename HelenOS/SPARTAN to HelenOS/kernel again.
/kernel
/SPARTAN
532
6755 d 10 h
jermar
/
Revert renaming of HelenOS/SPARTAN to HelenOS/kernel because of important pending patch.
/SPARTAN
/kernel
501
6767 d 14 h
jermar
/
Rename HelenOS/SPARTAN to HelenOS/kernel.
/kernel
/SPARTAN
←Prev
1
2
Next→
Show All