[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Tue, 6 Jul 2004 14:37:30 +0200
To get comfortable with Marcus' libhurd-cap-server, I tried to write a task
server. So far, I failed miserably, so before I continue I ask some
clarification, so I am at least doing what I want.
First of all, I know Marcus is also writing a task server at the moment, and I
don't mind. My task server is not meant to be useful (although it may be), it
is meant to let me learn more about the library.
I'll explain what I think the task server should do, and what problems I have
with it. Please give comments on everything which you think is wrong or
should be different.
I think the task server has two main functions: wrap calls to wortel, and
notify others of task termination. Calls to wrap are:
- create new thread
- destroy thread
- stop thread
- resume thread
Thread ID's are not reused until all tasks that were notified have acknoledged
For the capability server, there are several object classes:
- thread creation. Probably needs one object only.
- thread control. One object per thread.
- termination notify. One object per thread.
Now if I understood the code correctly, there is one thread which receives the
capability related requests, and it passes them on to a worker thread to be
handled. This means that any capability server must start some threads before
it is operational.
The task server cannot start these threads the "normal" way, because that
would mean sending a request to the task server (which isn't operational yet.)
This is not a big problem, it can just start its threads directly, just like
it does for other tasks.
Is the above indeed how it was inteded to work, or did I misunderstand
something? I have several more questions, but they don't make much sense if
these assumptions are wrong ;-)
I encourage sending me encrypted e-mail.
Please send the central message of e-mails as plain text in the message body,
not as HTML and definitely not as MS Word.
Please do not use the MS Word format for attachments either.
for more information, see http://126.96.36.199/e-mail.html
Description: PGP signature
- Task server,
Bas Wijnen <=