Subversion Repositories HelenOS

Rev

Show changed files | Details | Compare with Previous | Blame | RSS feed

Filtering Options

Rev Age Author Path Log message Diff
4537 5466 d 8 h trochtova /branches/dd/ dd branch synchronized with trunk (revision 4536)  
4535 5467 d 5 h jermar /trunk/uspace/lib/libc/ On condvar signal/broadcast, dequeue the waiting fibril from the waiters list.
Add FIBRIL_CONDVAR_INITIALIZE.
 
4527 5469 d 0 h jermar /trunk/uspace/lib/libc/ Condition variables for fibrils.  
4526 5469 d 21 h jermar /trunk/uspace/lib/libc/ Implement readers-writer locks for fibrils.  
4522 5470 d 23 h decky /trunk/uspace/lib/libc/ remove obsolete comment
cstyle
 
4516 5471 d 20 h jermar /trunk/uspace/lib/libc/ Add simple synchronization primitives to be used with fibrils.
Provided are mutexes and dummy rwlocks.
 
4509 5473 d 4 h decky /trunk/uspace/ rename libadt -> adt  
4482 5477 d 22 h decky /trunk/uspace/lib/libc/ I/O subsystem overhaul:
- add more POSIX-like file and stream functions (with real functionality of stdin, stdout, stderr)
- cleanup console access methods (now generic to any console-like device)
- remove unsafe stream functions
- add special open_node(), fd_node(), fd_phone() (file) and fopen_node(), fnode(), fphone() (stream) functions for HelenOS-specific I/O operations
 
2586 6059 d 19 h jermar /trunk/uspace/lib/libc/ Unify implementations of TLS variant I and variant II __alloc_tls() and
__free_tls_arch().
 
2568 6087 d 11 h jermar /trunk/uspace/ Rename fibril_schedule_next_adv() to fibril_switch(). Rename
fibril_schedule_next() to fibril_yield(). Some fibril structures could be
uninitialized, set them to zero in fibril_setup(). For some fibrils, the stack
member can be NULL (e.g. every thread's first/main fibril); don't do free on
these stacks when cleaning up after a dead fibril.
 
2483 6184 d 2 h jermar /trunk/uspace/lib/libc/ Remove fibril_join().
We cannot guarantee our assumptions that easily.
This broken feature is removed instead of fixing because there are now users of it.
 
2482 6184 d 17 h jermar /trunk/ Goodbye pseudo threads, welcome fibrils.
The renaming might still be incomplete.
 
2481 6184 d 19 h jermar /trunk/uspace/lib/libc/ 1. Implement simple joining of pseudo threads. Only one pseudo thread is allowed to join another pseudo
thread. The restriction is that both pseudo threads must be from the same thread (this is to simplify
synchronization). The joiner doesn't free anything from the joinee. It only gets its return value. Not
tested thoroughly yet.

2. Cleanup of a dead pseudo thread is done by the next scheduled pseudo thread. Not tested thoroughly yet.
 
2479 6189 d 4 h jermar /trunk/ New, better-structured, directory layout for uspace.  
2071 6345 d 21 h jermar /trunk/ (c) versus (C)  
1866 6480 d 22 h jermar /trunk/uspace/ Indentation and formatting facelift for libc.
Libc headers now have C99 compliant guards.
 
1787 6535 d 23 h decky / move kernel/trunk, uspace/trunk and boot/trunk to trunk/kernel, trunk/uspace and trunk/boot  
1653 6569 d 22 h cejka /uspace/trunk/ Doxygen comments.  
1610 6571 d 3 h palkovsky /uspace/trunk/ Revised ipc. Now it is preferrable to use only functions from async.h, they
take care of correct buffering, waiting for answers etc.
 
1427 6580 d 19 h palkovsky /uspace/trunk/ Added functions to async framework for reasonable sending asynchronous
messages.
 
1392 6586 d 22 h palkovsky /uspace/trunk/ Merged libadt into libc.
Made lot of psthread and thread stuff thread-safe.
Added new driver framework for easy C connection programming.
Changed FB code to use new API.
 
1129 6645 d 3 h palkovsky /uspace/trunk/ Completed support for TLS in GCC (modifier __thread) for ia32,amd64,ia64 and mips.  
1128 6645 d 4 h jermar /uspace/trunk/ Improve comments in psthread.c
Rename pt->list to pt->link.
Rename ps_preempt() to psthread_schedule_next().
Rename ps_join() to psthread_join().
 
1125 6645 d 7 h jermar /uspace/trunk/ TLS and pseudo thread support for ia64.  
1113 6646 d 7 h palkovsky /uspace/trunk/ Added symbolic links 'libarch','libadt','libipc' into libc/include,
so that it can be easily used from anywhere.
Renamed thread_main to __thread_main.
Allowed MIPS to compile with -O0.
Added non-preemptible threads support (not yet secured by futexes).
Added simple way to hold Thread Local Storage. Support for compiler
will be added later.
This update breaks IA64 uspace.

There is some forgotten spinlock_lock() in futexes, amd64 gets locked
in the secod uspace thread probably with preemption disabled.