]> git.tuebingen.mpg.de Git - paraslash.git/commitdiff
make send_callback_request() and friends take a result handler.
authorAndre Noll <maan@systemlinux.org>
Mon, 24 Mar 2008 14:20:28 +0000 (15:20 +0100)
committerAndre Noll <maan@systemlinux.org>
Mon, 24 Mar 2008 14:20:28 +0000 (15:20 +0100)
This is a first step to overcome a design flaw in the afs
callback code: The output of the commands is currently
stored in an osl object that is copied to a shared memory
area whose shmid is passed back to the command handler
via the local socket. This method limits the size of the
command output to the maximal size that can be stored in
a shared memory area which is not enough to hold large
outputs like that of ls -c.

This patch allows the command handlers to pass a result handler
function instead of an osl object. This result handler is
called for each shared memory area that gets sent through the
local socket.

Further patches will change the callbacks so that they pass
multiple result buffers instead of returning a single buffer.
This has the additional advantage that partial command output
produced by the callback can be sent even before the callback
returns. This parital output is seen immediately by the command
handler.


No differences found