Op 20-7-2026 om 11:57 schreef Michael Van Canneyt via fpc-pascal:

I am looking at the implementation of POpen and PClose in the runtime-library for Darwin (or more general for UNIX). It seems like it doesn't call into libc popen and pclose, but instead follows its own implementation in unix.pp in POpen_internal. I am just curious to know the reason.

Phew, that was over twenty years ago, but afaik the reason is that libc popen and pclose us C FILE descriptors, which the RTL in general doesn't use to avoid a mix of functions with pascal and C file types.

So popen/pclose are a more high level (FILE * using) part of libc, while we tend to only use the basis.

Glad our memories agree on this :-)

Well aside from the fact that FreeBSD was the architecture where the baseunix/unix RTLĀ  was done. The port to Linux was only done later :-)

This shows the tension a bit between libc the system lib, and libc the C runtime. We are only interested in the system lib part.

_______________________________________________
fpc-pascal maillist  -  [email protected]
https://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal

Reply via email to