diff options
| author | me_desk <me_desk@fb96df88-216d-11de-830c-f3023f12d8ac> | 2012-07-28 11:40:54 +0000 |
|---|---|---|
| committer | me_desk <me_desk@fb96df88-216d-11de-830c-f3023f12d8ac> | 2012-07-28 11:40:54 +0000 |
| commit | 1884db4297278d86fd6d0aeb34e1784a542556f1 (patch) | |
| tree | fe99b9dc67dfd67af14b827805dc5d137ff32c84 | |
| parent | 6f28d7631eb9be214934e38190452953df24235d (diff) | |
| download | pica-pica-1884db4297278d86fd6d0aeb34e1784a542556f1.tar.gz pica-pica-1884db4297278d86fd6d0aeb34e1784a542556f1.zip | |
registrar: disconnect on timeout; clear ca_dir.pid in /tmp
git-svn-id: svn://localhost/project_picapica/trunk@154 fb96df88-216d-11de-830c-f3023f12d8ac
| -rw-r--r-- | pica-registrar/PICA_registrar.cpp | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/pica-registrar/PICA_registrar.cpp b/pica-registrar/PICA_registrar.cpp index 4da4673..f39480d 100644 --- a/pica-registrar/PICA_registrar.cpp +++ b/pica-registrar/PICA_registrar.cpp @@ -27,6 +27,8 @@ using namespace std; #define BAN_THRESHOLD_SECS 60 +#define CHILD_TIMEOUT 10 + char read_buf[READ_BUF_SIZE]; char write_buf[WRITE_BUF_SIZE]; @@ -175,6 +177,7 @@ void baninfo_update(struct sockaddr_in *a) banmap[a->sin_addr.s_addr].last_reg = time_now; } + int main(int argc, char *argv[]) { int s, client_socket, ret, pos, disconnect_flag, bytes_read, cert_size; @@ -220,6 +223,7 @@ while (1) { current_id++; baninfo_update(&sc); + close(client_socket); continue; } @@ -229,7 +233,7 @@ while (1) continue; } //now we are in the child process - + alarm(CHILD_TIMEOUT); disconnect_flag = read_CSR(client_socket, &bytes_read); @@ -320,6 +324,8 @@ while (1) freeres_1: + chdir("/"); + system(((string)"rm -rf " + ca_dir).c_str()); remove(cert_filename.c_str()); freeres_2: |
