1
0
mirror of git://git.gnupg.org/gnupg.git synced 2024-09-22 15:11:41 +02:00

Ignore a stale agent socket.

This commit is contained in:
Werner Koch 2010-04-26 14:51:38 +00:00
parent 31bbe71ad6
commit 5b341a9a47
2 changed files with 13 additions and 1 deletions

View File

@ -1,3 +1,7 @@
2010-04-26 Werner Koch <wk@g10code.com>
* gpg-agent.c (create_server_socket) [W32]: Also check for EEXIST.
2010-04-19 Werner Koch <wk@g10code.com> 2010-04-19 Werner Koch <wk@g10code.com>
* pksign.c (get_dsa_qbits, do_encode_dsa): New. * pksign.c (get_dsa_qbits, do_encode_dsa): New.

View File

@ -1493,7 +1493,15 @@ create_server_socket (char *name, int is_ssh, assuan_sock_nonce_t *nonce)
strcpy (serv_addr->sun_path, name); strcpy (serv_addr->sun_path, name);
len = SUN_LEN (serv_addr); len = SUN_LEN (serv_addr);
rc = assuan_sock_bind (fd, (struct sockaddr*) serv_addr, len); rc = assuan_sock_bind (fd, (struct sockaddr*) serv_addr, len);
if (use_standard_socket && rc == -1 && errno == EADDRINUSE)
/* Our error code mapping on W32CE returns EEXIST thus we also test
for this. */
if (use_standard_socket && rc == -1
&& (errno == EADDRINUSE
#ifdef HAVE_W32_SYSTEM
|| errno == EEXIST
#endif
))
{ {
/* Check whether a gpg-agent is already running on the standard /* Check whether a gpg-agent is already running on the standard
socket. We do this test only if this is not the ssh socket. socket. We do this test only if this is not the ssh socket.