forked from enlightenment/enlightenment
so our writes sometimes would get stuck because kernel io buffers are full and writes are slow. on specific machines with super slow write media and small amounts of ram this was bad. this moves writing totally to threads. the eet file is opened in a thread and closed in the same thread. only the eet_write/eet_data_write are done in the mainloop. this is a 'walk struct, serialise it and compress it" which compared to blocking for possibly multiple seconds in a write/close/rename backup cfg files doing real io to kernel 9even though kernle should buffer these)... is a hell of a lot better. so sure. we block lock enough to walk the structures/lists, encode the blob and put it through a fast lz4 compress cycle and drop into memory. the actual write happens in the thread when the file is closed and that is a vast improvement if you hit these cases. |
||
---|---|---|
confs | ||
data | ||
doc | ||
meson | ||
old | ||
po | ||
src | ||
.arcconfig | ||
.gitignore | ||
.mailmap | ||
AUTHORS | ||
COPYING | ||
INSTALL | ||
NEWS | ||
README | ||
TODO | ||
meson.build | ||
meson_options.txt | ||
x-ui.sh | ||
xdebug.sh |
README
Enlightenment ------------- Please report bugs and submit patches at https://phab.enlightenment.org Requirements ------------ Must: * efl * libpam (On Linux) Highly suggested: * evas_generic_loaders (All loaders) * bluez5 (BT support and l2ping tool) * connman * bc (For everything calculator) * pulseaudio * acpid (Unless your system doesn't have ACPI at all) * packagekit (For packagekit module updates status) * udisks2 * gdb (If you want automatic bactraces in ~/.e-crashdump.txt) NOTE: Users of DR16 will need to rename the $prefix/bin/enlightenment file prior to installing this release or it will be overwritten. Please see the INSTALL file for now to compile and install it. NOTE: If you do not want security issues make sure sysactions.conf is in /etc/enlightenment (not PREFIX/etc/enlightenment) as this is the first place it looks at. This file is intended to be customized by packagers and system integrators to match your policies and scripts/tools. NOTE: To enable wayland support (still considered experimental and not for regular end users) use the meson -Dwl=true option. To run enlightenment in wayland mode, just log on on ant vt and run enlightenment_start. If you wish to debug and see all the output try using something like screen then attaching to the remote screen session by sshing in etc.