> Of particular interest to me is streams multiplexing. Streams
> multiplexing exists in the linux kernel, but only in limited,
> predefined forms; for example, pseudo-terminals. AT&T invented generic
> streams multiplexing in the 1980s anticipating internetworking
> communications. AT&T allowed great flexibility in the design.
>
> Enter freepascal. Looking at the source for the linux unit (sorry, I
> still mostly use fpc 1.0.10), the AssignStream function is a very
> clever, high level unix function. Features like this will make
> reconstructing MGR comprehensible.
>
Looking at the source of fpc1x and the docs of fpc2x, there are
im****tant differences in the unix call "dup." The call "dup2" seems
about the same. Also, the very complex class "TProcess" is being
changed and doesn't work on my linux anyway.
So I went back to deriving the im****tant part of TProcess as an
"Object(TObject)" type, using only the AssignPipe, fork, and dup2
calls. I rename the object tChildProcess_Pipe and use the standard
pascal call "new." It works.
>From this simple start I can build the windows multiplexor. I would not
be able to debug the class tProcess.
I'm not trying to offend anybody. But the extremely advanced level of
fpc2 is a barrier for me.


|