Hey Martin,

2012/6/11 Martin Decky <[email protected]>
>
>
> I suggest that you simply use the constant stack size as a temporary
> solution. You can always increase the constant size to 16 KB if you need it
> by updating the STACK_FRAMES macro in the kernel.
>

Ok that would be a usable temporary workaround I think.

I suggest that you modify your plan and implement two tasks passing the
> arguments between each other. For two threads in a single task this really
> does not make much sense -- it should be doable in theory, but it is
> plainly unnecessary.
>

Yes this is exactly the approach I used today and managed to connect 2
tasks to each other. As always you can have a look at it in my repository
[1].
If I did something wrong or forgot something please let me know as soon as
possible.
I used the second loaded tasks to connect to the first one. The first task
receives the call it is already waiting for and is sending a short answer
that the connection is being accepted (that all this went as expected can
be checked via the command 'ipc <taskid>' in the kconsole). The second
tasks is then waiting for the hangup message which is automatically
generated when the first task is killed (via kconsole's 'kill' command).
The only thing I not yet quite understand is why the 'ipc_connect_to_me'
function connects to the other tasks or which tasks in general it is trying
to ask for a connection.

> Also note that you cannot create an IPC connection just between arbitrary
> tasks. You can only create new IPC connections over already established
> connections, either by forwarding or by creating callbacks. Therefore for
> the IPC to work you need the initial naming service which all tasks are
> automatically connected to by the kernel. In your test case one of the two
> communicating tasks will have to be the naming service.
>
So does the syscall automatically and every time request a connection from
the first loaded tasks (which then would be forced to be the nameservice)?
Or am I able to address another task directly to ask for a connection with
this syscall?


Regards,
Tobias


[1] https://github.com/kurbel/genode
_______________________________________________
HelenOS-devel mailing list
[email protected]
http://lists.modry.cz/cgi-bin/listinfo/helenos-devel

Reply via email to