( TCH | 2019. 10. 18., p – 22:23 )

> Kezdésnek azt, hogy az utolsó lépésként dobjuk ki a forkot :)

Lényegtelen, hanyadik lépésként akarják kidobni, ha nincs az előtte lévő lépések között, hogy "invent alternatives". Az "Improve alternatives" nem elég: miféle alternatíváról beszélnek? (BTW, ami a "Fix teachings"-ot illeti, külön viccesnek tartom, hogy szerintük a windózos

CreateProcess()

-t kéne tanítani, amikor az a téma, hogy hogy futtatunk külső programot egy UNIX processen belül.)

> Szvsz. nem is akarják a levesbe küldeni, de amíg nem beszélünk a problémákról, amik megoldására kell az alternatíva (ami egyébként látod, már részben van is, fel is tudták sorolni), addig senki nem fog standardizálni egy alternatívát...

A

posix_spawn()

nem simán a

fork()

-ot váltja, hanem a

fork()

+

exec()

kombót. A

vfork()

semmiképpen sem másolja a címteret, míg a

fork()

mindenképpen, ergo a

vfork()

nem alternatívája a

fork()

-nak. A

clone()

lehet, hogy használható lenne (nem néztem át a paraméterezését), de Linux-only. Van olyan POSIX-compliant megoldás, ami 100%-ig tudja "emulálni" a

fork()

funkcionalitását? Ha nincs, akkor nem lehet a

fork()

-ot kidobni és nincs mit "improve"-olni se. Ők legalábbis nem soroltak fel semmiféle használható alternatívát, ami minden platformon kiválthatná, tehát még részben sem adtak megoldást.

Azt meg senki nem mondta, hogy ne beszéljünk a problémákról, azokat én sem vitattam, amiket a

fork()

ellen felhoztak, de az kevés, hogy a

fork()

monnyonle, ki is kell tudni váltani valamivel. Mindenütt.

> Tippre ezt ők is úgy gondolták, mint a Wayland bevezetését: bedobnak egy problémát (szar az X11 - szar a fork), előbb-utóbb valaki tesz javaslatot, az átmegy kismillió bizottságon és kismillió OS implementálja (Wayland protokoll és összes implementációja - [ez még itt nincs]), aztán aki nagyon nem akarja átírni a kliensét, az kap egy kompatibilitási réteget (XWayland - [még nincs: az új API használatával emulált fork() hívás]), aztán talán évtizedek múlva már ki lehet kapcsolni a kompat réteget is...

Ja és pont ugyanaz a baj ezzel az egésszel, mint a Wayland-del. Az oké, hogy az X11-nek már minden baja van és amúgy is agyfasz programozni (tudnék mesélni, két éve poénból elkezdtem fejlesztgetni egy saját toolkitet rá), nem is erre találták ki anno, stb. A Wayland-et ugyan nem ismerem, tehát érdemben nem tudok róla nyilatkozni, nem tudom, hogy jó-e, vagy sem, de azt tudom, hogy Linux-only. Illetve nem egészen, mert unofficial FreeBSD/DragonFlyBSD támogatás van. De a többi BSD-vel, Solarisokkal, AIX-szal, HP-UX-szal és egyebekkel mi lesz? A kompat réteget a hajukra kenhetik, mert az visszafele működik: az X11-only cuccokat lehet vele futtatni Wayland alatt, de a Wayland-only cuccokat hogy futtatod Wayland nélküli rendszeren? Ez megint ugyanaz, mint a GNOME3 systemd függése: hiába akarná valaki felrakni a szükséges függőséget, ha nincs a rendszerére.