> 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.