diff options
author | David Zeuthen <david@fubar.dk> | 2006-03-17 00:21:31 +0000 |
---|---|---|
committer | David Zeuthen <david@fubar.dk> | 2006-03-17 00:21:31 +0000 |
commit | 7527634309362c42cd851428769e300cd6b311bf (patch) | |
tree | 6a7c7b8f8c73cd89f82c0bf973f17ecfce57ef69 | |
parent | 11176b6bcc85b50a26eb86ef452e31d3193285ef (diff) | |
download | polkit-7527634309362c42cd851428769e300cd6b311bf.tar.gz |
Remember to kill the child here
-rw-r--r-- | ChangeLog | 5 | ||||
-rw-r--r-- | polkitd/polkit-session.c | 4 | ||||
-rw-r--r-- | tools/polkit-grant-privilege.c | 7 |
3 files changed, 16 insertions, 0 deletions
@@ -1,5 +1,10 @@ 2006-03-16 David Zeuthen <davidz@redhat.com> + * polkitd/polkit-session.c (polkit_session_close): Remember to + kill the child here + +2006-03-16 David Zeuthen <davidz@redhat.com> + * polkitd/main.c (main): Bail if we can't become primary owner * polkitd/polkit-session.c (data_from_pam): Unref when the child dies diff --git a/polkitd/polkit-session.c b/polkitd/polkit-session.c index 4e28ab5..3521830 100644 --- a/polkitd/polkit-session.c +++ b/polkitd/polkit-session.c @@ -887,6 +887,10 @@ polkit_session_close (PolicyKitSession *session, if (!polkit_session_check_caller (session, context)) return FALSE; + /* if we have a child... kill it */ + if (session->priv->child_pid != 0) + kill (session->priv->child_pid, SIGTERM); + if (!do_not_revoke_privilege && session->priv->have_granted_temp_privileges) { if (!polkit_manager_remove_temporary_privilege (session->priv->manager, diff --git a/tools/polkit-grant-privilege.c b/tools/polkit-grant-privilege.c index 0a2d58c..31ef14b 100644 --- a/tools/polkit-grant-privilege.c +++ b/tools/polkit-grant-privilege.c @@ -198,6 +198,13 @@ out: g_error_free (error); } + if (!org_freedesktop_PolicyKit_Session_close (session, + TRUE, + &error)) { + g_warning ("Close: %s", error->message); + g_error_free (error); + } + exit (0); } |