1
0
Fork 0
mutter-performance-source/src/core
Jonas Dreßler 551a57ed7f Add read-only anonymous file abstraction MetaAnonymousFile
Add MetaAnonymousFile, an abstraction around anonymous read-only files.
Files can be created by calling meta_anonymous_file_new(), passing the
data of the file. Subsequent calls to meta_anonymous_file_open_fd()
return a fd that's ready to be sent over the socket.

When mapmode is META_ANONYMOUS_FILE_MAPMODE_PRIVATE the fd is only
guaranteed to be mmap-able readonly with MAP_PRIVATE but does not
require duplicating the file for each resource when memfd_create is
available. META_ANONYMOUS_FILE_MAPMODE_SHARED may be used when the
client must be able to map the file with MAP_SHARED but it also means
that the file has to be duplicated even when memfd_create is available.

Pretty much all of this code was written for weston by Sebastian Wick,
see https://gitlab.freedesktop.org/wayland/weston/merge_requests/240.

Co-authored-by: Sebastian Wick <sebastian@sebastianwick.net>

https://gitlab.gnome.org/GNOME/mutter/merge_requests/1012
2020-04-21 17:52:08 +02:00
..
bell.c frame: Remove flashing support 2019-03-12 00:27:07 +00:00
bell.h frame: Remove flashing support 2019-03-12 00:27:07 +00:00
boxes-private.h Add MetaGravity and replace X11 equivalent with it 2020-02-29 21:01:50 +00:00
boxes.c Add MetaGravity and replace X11 equivalent with it 2020-02-29 21:01:50 +00:00
constraints.c window: Implement asynchronous popup moving 2020-02-29 21:01:50 +00:00
constraints.h window: Implement asynchronous popup moving 2020-02-29 21:01:50 +00:00
delete.c Clean up include macros mess 2018-11-06 17:17:36 +01:00
display-private.h Add MetaGravity and replace X11 equivalent with it 2020-02-29 21:01:50 +00:00
display.c compositor: Add support for direct scanout of Wayland surfaces 2020-04-16 15:05:52 +02:00
edge-resistance.c Add MetaGravity and replace X11 equivalent with it 2020-02-29 21:01:50 +00:00
edge-resistance.h Add MetaGravity and replace X11 equivalent with it 2020-02-29 21:01:50 +00:00
events.c core: Let pad mode switch events always go through MetaInputSettings 2020-03-25 19:56:09 +01:00
events.h Clean up include macros mess 2018-11-06 17:17:36 +01:00
frame.c frame: Pass the frame area for get_mask() 2020-01-29 10:44:50 +00:00
frame.h frame: Pass the frame area for get_mask() 2020-01-29 10:44:50 +00:00
keybindings-private.h keybindings: Do not grab the locate-pointer key if unnecessary 2019-07-18 13:10:32 +00:00
keybindings.c keybindings: Check the special modifiers specifically 2020-03-13 21:37:32 +01:00
main-private.h meta: Move private defines to a private header 2019-10-15 11:03:56 +00:00
main.c core/core: Remove meta_retheme_all() helper 2019-10-15 07:17:29 +00:00
meta-accel-parse.c Clean up include macros mess 2018-11-06 17:17:36 +01:00
meta-accel-parse.h Clean up include macros mess 2018-11-06 17:17:36 +01:00
meta-anonymous-file.c Add read-only anonymous file abstraction MetaAnonymousFile 2020-04-21 17:52:08 +02:00
meta-anonymous-file.h Add read-only anonymous file abstraction MetaAnonymousFile 2020-04-21 17:52:08 +02:00
meta-border.c MetaBorder: Use float constants and functions instead of double variants 2016-02-16 19:02:48 +08:00
meta-border.h Move out generic math parts out of the native barrier implementation 2016-02-16 19:02:48 +08:00
meta-clipboard-manager.c core: Demote tiff and bmp image formats in the clipboard manager 2020-03-27 14:37:29 +00:00
meta-clipboard-manager.h core: Add clipboard manager 2019-05-02 16:22:45 +02:00
meta-close-dialog-default-private.h Clean up include macros mess 2018-11-06 17:17:36 +01:00
meta-close-dialog-default.c cleanup: Use g_clear_handle_id() for g_source_remove() 2019-11-22 01:27:40 +01:00
meta-close-dialog.c Use a consistent style for enum braces 2019-02-28 09:31:01 +01:00
meta-fraction.c Add MetaFraction for dealing with fractions 2017-08-29 14:39:04 +08:00
meta-fraction.h Add MetaFraction for dealing with fractions 2017-08-29 14:39:04 +08:00
meta-gesture-tracker-private.h display: Move finishing of touch sequence to the backend 2019-10-28 18:40:43 +00:00
meta-gesture-tracker.c cleanup: Use g_clear_handle_id() for g_source_remove() 2019-11-22 01:27:40 +01:00
meta-inhibit-shortcuts-dialog-default-private.h Clean up include macros mess 2018-11-06 17:17:36 +01:00
meta-inhibit-shortcuts-dialog-default.c Use a consistent style for enum braces 2019-02-28 09:31:01 +01:00
meta-inhibit-shortcuts-dialog.c core: add MetaInhibitShortcutsDialog 2017-08-02 11:58:55 +02:00
meta-launch-context.c core: Use DISPLAY envvar to forward in the launch context 2020-02-29 20:41:26 +00:00
meta-selection-private.h core: Add private function to get the current selection owner 2020-04-09 21:30:05 +00:00
meta-selection-source-memory.c core: Fix task leak in meta_selection_source_memory_read_async 2020-02-01 14:02:19 +00:00
meta-selection-source.c Make MetaSelection, MetaSelectionSource and MetaMemorySelectionSource public 2019-05-02 16:31:45 +02:00
meta-selection.c core: Cater for reading selection in chunks 2020-04-16 16:26:04 +00:00
meta-sound-player.c sound-player: Fix invalid write after playback is cancelled early 2020-02-21 16:06:18 +00:00
meta-workspace-manager-private.h Move workspace related code from MetaDisplay to MetaWorkspaceManager 2018-07-06 19:47:17 +02:00
meta-workspace-manager.c workspace-manager: get_workspace_by_index can return NULL 2019-11-22 22:13:35 +00:00
mutter.c plugin: Rename the .so file from plugin.so to libplugin.so 2018-11-06 17:17:36 +01:00
place.c window: Put placement related fields in a anynomous struct 2020-02-29 21:01:50 +00:00
place.h place: Make placement rule processing provide relative coordinates 2020-02-29 21:01:50 +00:00
prefs.c display: Make check-alive timeout configureable 2020-02-23 17:28:57 +00:00
restart-helper.c Clean up include macros mess 2018-11-06 17:17:36 +01:00
restart.c Clean up include macros mess 2018-11-06 17:17:36 +01:00
stack-tracker.c core: Split x11-display initialization in 2 signals 2019-09-11 22:30:13 +02:00
stack-tracker.h meta: Hide libmutter symbols by default and selectively export them 2019-01-23 14:18:13 +01:00
stack.c cogl: Install cogl-trace.h and include from cogl.h 2020-03-26 09:05:38 +01:00
stack.h stack: Style and introspection doc fixes 2019-07-08 11:46:52 +02:00
startup-notification-private.h meta, startup-notification: Make type declarations public 2019-01-24 16:38:09 +00:00
startup-notification.c cleanup: Use g_clear_handle_id() for g_source_remove() 2019-11-22 01:27:40 +01:00
util-private.h meta: Hide libmutter symbols by default and selectively export them 2019-01-23 14:18:13 +01:00
util.c util: Move MetaLater to its own file 2020-04-16 15:05:52 +02:00
window-private.h surface-actor-x11: Move window related unredirect logic to MetaWindowX11 2020-04-16 14:08:19 +02:00
window.c surface-actor-x11: Move window related unredirect logic to MetaWindowX11 2020-04-16 14:08:19 +02:00
workspace-private.h Clean up include macros mess 2018-11-06 17:17:36 +01:00
workspace.c cogl: Install cogl-trace.h and include from cogl.h 2020-03-26 09:05:38 +01:00