Chris , Thanx for the tips

Is there some way to let linux /bsd do the scheduling work instead of
(mp:process-yield)

At what intervals of time should process-yield be called??
does it have an overhead?

is there some way to assign priorities so that the listener threads always
have more priorities than a connected thread. and viceversa

Thanx

Murali

On Mon, 22 Dec 2003, Chris Baker wrote:

> Chakravarthi Muralidar <[EMAIL PROTECTED]> writes:
>
> > Hello Everyone,
> >
> > Im trying to write a client server application under cmucl. I am using
> > Linux 2.4.xx on x86 (also FreeBSD 4.9 under x86). The server side of the
> > application listens on a particular port. when a connection is made it
> > spawns off another listener and continues with the processing of the
> > incomming data. Im getting stuck with the multiprocessing part which
> > doesnt seem to work right at this point.
>
> [...]
>
> > The problem here is that if one connection starts writing data (and
> > analyze-i is started since the stream has data)...i.e., analyze-i is
> > reading the data and writing to disk..other processes has to wait till
> > this one is complete why is that??
>
> CMUCL threads (which it calls Processes) are cooperative.  You'll need
> to call MP:PROCESS-YIELD periodically if you want to give other
> threads a chance to work.
>
> [...]
>
> > also how can one pass functional arguments to a function that is spawned
> > by (mp:make-process )??
> > i.e, lets say we have a function (test a b) how can we use
> > (mp:make-process #'test) to take a and b)
>
> I usually do, e.g.
>
>         (mp:make-process #'(lambda () (test a b)))
>
> HTH,
>
> cbb
>
> --
>  11:48:38 up 28 days, 21:48,  1 user,  load average: 0.43, 0.41, 0.26
>


Reply via email to