version 1.47, 2001/01/21 19:05:56 |
version 1.48, 2001/01/25 08:06:33 |
|
|
void |
void |
cleanup_socket(void) |
cleanup_socket(void) |
{ |
{ |
unlink(socket_name); |
if (socket_name[0]) |
rmdir(socket_dir); |
unlink(socket_name); |
|
if (socket_dir[0]) |
|
rmdir(socket_dir); |
} |
} |
|
|
void |
void |
|
|
} |
} |
|
|
void |
void |
|
cleanup_handler(int sig) |
|
{ |
|
cleanup_socket(); |
|
_exit(2); |
|
} |
|
|
|
void |
usage() |
usage() |
{ |
{ |
fprintf(stderr, "ssh-agent version %s\n", SSH_VERSION); |
fprintf(stderr, "ssh-agent version %s\n", SSH_VERSION); |
|
|
idtab_init(); |
idtab_init(); |
signal(SIGINT, SIG_IGN); |
signal(SIGINT, SIG_IGN); |
signal(SIGPIPE, SIG_IGN); |
signal(SIGPIPE, SIG_IGN); |
signal(SIGHUP, cleanup_exit); |
signal(SIGHUP, cleanup_handler); |
signal(SIGTERM, cleanup_exit); |
signal(SIGTERM, cleanup_handler); |
while (1) { |
while (1) { |
prepare_select(&readsetp, &writesetp, &max_fd); |
prepare_select(&readsetp, &writesetp, &max_fd); |
if (select(max_fd + 1, readsetp, writesetp, NULL, NULL) < 0) { |
if (select(max_fd + 1, readsetp, writesetp, NULL, NULL) < 0) { |