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 >
