Gpg-agent is ignoring default-cache-ttl, max-cache-ttl and SIGHUP.
$ cat .gnupg/gpg-agent.conf
default-cache-ttl 300
max-cache-ttl 300
$ env | grep GPG_AGENT
GPG_AGENT_INFO=/tmp/gpg-ZxAMdu/S.gpg-agent:1391:1
$ pidof gpg-agent
1391
$ gpg2 -q --decrypt foo.gpg
blah
$ echo $?
0
$ kill -HUP 1391
$ gpg2 -q --decrypt foo.gpg
blah
$ echo $?
0
After I send SIGHUP I am not prompted for my passphrase. I am using scdaemon to talk to a Yubikey4.
$ gpg2 --version
gpg (GnuPG) 2.0.26
libgcrypt 1.6.2
Copyright (C) 2013 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later http://gnu.org/licenses/gpl.html
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Home: ~/.gnupg
Supported algorithms:
Pubkey: RSA, RSA, RSA, ELG, DSA
Cipher: IDEA, 3DES, CAST5, BLOWFISH, AES, AES192, AES256, TWOFISH,
CAMELLIA128, CAMELLIA192, CAMELLIA256
Hash: MD5, SHA1, RIPEMD160, SHA256, SHA384, SHA512, SHA224
Compression: Uncompressed, ZIP, ZLIB, BZIP2