Diffusion GnuPG c594dcfc9348

scd: Add explict functions for 'app' reference counting.

Authored by werner on Jun 17 2019, 4:19 PM.

Description

scd: Add explict functions for 'app' reference counting.

* scd/app.c (app_ref): New.
(app_unref): New.
(release_application): Renamed to ...
(app_unref_locked): this and remove arg locked_already.  Change
callers to use this or app_ref.
* scd/command.c (open_card_with_request):
(cmd_pksign, cmd_pkauth, cmd_pkdecrypt): Use app_ref and app_unref
instead of accessing the counter directly.

This is better in case we need to debug stuff. There is a real change
however: We now lock and unlock the app before changing the reference
count.

The whole app locking business should be reviewed because we pass
pointers along without immediately bumping the refcount.

  • Signed-off-by: Werner Koch <wk@gnupg.org>

Details

Committed
wernerJun 17 2019, 4:19 PM
Parents
rG70f7b262877b: scd: Slight change to app->fnc.do_with_keygrip.
Branches
Unknown
Tags
Unknown