From: Changyeon Lee Date: Mon, 6 Jan 2025 06:48:40 +0000 (+0900) Subject: Create /run/.wm_ready after initializing is done X-Git-Tag: accepted/tizen/unified/20250106.154434~1 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=c470af2c728fb1e2a0407220ce1c1e60d0b6783e;p=platform%2Fcore%2Fuifw%2Fheadless-server.git Create /run/.wm_ready after initializing is done Change-Id: I342e63ce015f02cccfd566898c43a840d9bf16c5 --- diff --git a/data/units/display-manager-ready.service b/data/units/display-manager-ready.service index 00ac10b..6a22e49 100644 --- a/data/units/display-manager-ready.service +++ b/data/units/display-manager-ready.service @@ -7,7 +7,6 @@ Type=oneshot EnvironmentFile=/etc/sysconfig/display-manager.env SmackProcessLabel=System ExecStart=/usr/bin/sh -c "while [ ! -e /run/wayland-0 ] ; do /usr/bin/sleep .1 ; done ;/bin/chown -f root:display /run/wayland-0;/bin/chmod 775 /run/wayland-0" -ExecStartPost=/usr/bin/sh -c "/usr/bin/touch /run/.wm_ready" [Install] WantedBy=graphical.target diff --git a/src/headless_server.c b/src/headless_server.c index 4e2d1cb..36d8a4b 100644 --- a/src/headless_server.c +++ b/src/headless_server.c @@ -94,6 +94,25 @@ handle_ds_log(enum ds_log_level level, const char *fmt, va_list args) dlog_vprint(dlog_level_from_ds_log_level(level), LOG_TAG, fmt, args); } +static int +server_create_wm_ready(void) +{ + FILE *wm_ready = NULL; + const char *path_wm_ready = "/run/.wm_ready"; + + wm_ready = fopen(path_wm_ready, "wb"); + if (!wm_ready) { + ds_err("fail to open path:%s", path_wm_ready); + return 0; + } + + ds_inf("Create %s", path_wm_ready); + + fclose(wm_ready); + + return 1; +} + int main(int argc, char *argv[]) { @@ -172,6 +191,9 @@ main(int argc, char *argv[]) server.name = wl_display_add_socket_auto(server.display); HS_CHECK(server.name, goto end, "Could not add socket for wayland"); + ret = server_create_wm_ready(); + HS_CHECK(ret, goto end, "Failed to create wm_ready"); + setenv("WAYLAND_DISPLAY", server.name, true); ds_inf("Running headless server on WAYLAND_DISPLAY=%s", server.name);