how to send a message to the server - Minix

This is a discussion on how to send a message to the server - Minix ; I wrote a my own server. it's quite simple, it takes a message filled with a vector of ten integer and perform their ordering. The paradigm involved is the conventional event driven. while (TRUE){ message m; getwork() do_orgering(&m) } I ...

+ Reply to Thread
Results 1 to 2 of 2

Thread: how to send a message to the server

  1. how to send a message to the server

    I wrote a my own server. it's quite simple, it takes a message filled
    with a vector of ten integer and
    perform their ordering.
    The paradigm involved is the conventional event driven.

    while (TRUE){
    message m;
    getwork()
    do_orgering(&m)


    }

    I also wrote a process called "client" which sends with the IPC
    sendrec a message to it with the ten random integers
    The only way to send a message from the client to my own server is to
    run them by the mean of the service interface.
    Example.
    service up /myfoldef/myserver
    servie up /myfolder/myclient
    if I don't start the client up in this way, it's aborted. I think it's
    killed by the kernel.
    Unfortunately by starting both processes (myclient and myserver) as
    showed, they become "server" in the minix layer on the contrary I want
    only myserver to be a server belonging to Minix' server layer and the
    client to be a common user process able to send messages to my server.
    How can I fix this ?
    Thank you in advance.

  2. Re: how to send a message to the server

    puntino wrote:
    > I also wrote a process called "client" which sends with the IPC
    > sendrec a message to it with the ten random integers
    > The only way to send a message from the client to my own server is to
    > run them by the mean of the service interface.
    > Example.
    > service up /myfoldef/myserver
    > servie up /myfolder/myclient
    > if I don't start the client up in this way, it's aborted. I think it's
    > killed by the kernel.


    IIRC, normal user processes are not allowed to call sendrec directly, but
    have to use the _syscall function(). This also requires of you to make a
    new system call entry in the system call table so that your _syscall()
    resolves to something meaningful. However, I don't have any source code at
    hand (and the SVN repository browser is down, again), so I can't tell you
    exactly where or how to do this, but look it up.

    Regards,

    Jens

    --
    Jens de Smit
    Student Computer Science | Vrije Universiteit Amsterdam
    jfdsmit@few.vu.nl | http://www.few.vu.nl/~jfdsmit
    "[In the end, people] get furious at IT that the goddamn magic isn't working"
    -- Stewart Dean

+ Reply to Thread