Project info
Finishing of linuxulator update to Linux 2.6
Synopsis
During Summer of Code 2006 I implemented TLS, pid mangling and futexes. This enables most of the application work under 2.6 emulation but it's still not complete. The futex implementation has some rough edges, we lack *at syscalls, and epoll/inotify interface. This is the goal of this years project.
Details
The futexes fail with testing program which means there's something wrong. We currently don't know whats going on and we are not aware of any real world problems. The *at syscalls are necessary for 2.6.16 to be complete and they seem to be used. The epoll is necessary for jdk which expects this implemented in Linux 2.6. The signaling is not done right. This doesn't seem to be much of a problem but it's better to do it correctly.
Deliverables
- *at set of syscalls
- epoll/inotify
- hopefully 100% correct futex implementation
- signaling done right
- some other things which depends on user testing and user demand
- FreeBSD documentation article (derived from my master thesis)
Plan
work as I can and want
Status
- epoll/inotify - preliminary patch, needs some testing
- *at syscalls - patch under review, finally done right
- correct futexes - fix commited, work on locking is ongoing, no known issues
- correct signals - naive patch, needs further work and redesign
- documentation - 100% complete, Gabor Kovesdan is working on integrating it into the repo
- pthread_cancel - there is a bug in pthread_cancel when doing asynchronous canceling, under investigation, seems TLS related