When we fork a client and give one end of a socketpair, the credentials
on the socket fd comes back as ourselves. When that happens, do not kill
the process.
Also remove superfluous variables.
Signed-off-by: Tiago Vignatti <tiago.vignatti@intel.com>
struct wl_surface *focus_surface;
struct wl_client *client;
pid_t pid;
- uid_t uid;
- gid_t gid;
focus_surface = seat->keyboard->focus;
if (!focus_surface)
return;
client = focus_surface->resource.client;
- wl_client_get_credentials(client, &pid, &uid, &gid);
+ wl_client_get_credentials(client, &pid, NULL, NULL);
+
+ /* Skip clients that we launched ourselves (the credentials of
+ * the socketpair is ours) */
+ if (pid == getpid())
+ return;
kill(pid, SIGKILL);
}