2 * Copyright (C) 2008 Martin Willi
3 * Hochschule fuer Technik Rapperswil
5 * This program is free software; you can redistribute it and/or modify it
6 * under the terms of the GNU General Public License as published by the
7 * Free Software Foundation; either version 2 of the License, or (at your
8 * option) any later version. See <http://www.fsf.org/copyleft/gpl.txt>.
10 * This program is distributed in the hope that it will be useful, but
11 * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
12 * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
26 static void* testing(void *thread
)
31 identification_t
*id
[ALLOCS
];
34 auth
= auth_info_create();
36 /* prepare identities */
37 for (i
= 0; i
< ALLOCS
; i
++)
41 snprintf(buf
, sizeof(buf
), "%d-%d@strongswan.org", (int)thread
, i
);
42 id
[i
] = identification_create_from_string(buf
);
49 /* allocate addresses */
50 for (i
= 0; i
< ALLOCS
; i
++)
52 addr
[i
] = charon
->attributes
->acquire_address(charon
->attributes
,
53 "test", id
[i
], auth
, NULL
);
60 /* release addresses */
61 for (i
= 0; i
< ALLOCS
; i
++)
63 charon
->attributes
->release_address(charon
->attributes
, "test", addr
[i
]);
67 for (i
= 0; i
< ALLOCS
; i
++)
69 addr
[i
]->destroy(addr
[i
]);
70 id
[i
]->destroy(id
[i
]);
77 /*******************************************************************************
78 * SQL pool performance test
79 ******************************************************************************/
84 pthread_t thread
[THREADS
];
86 for (i
= 0; i
< THREADS
; i
++)
88 if (pthread_create(&thread
[i
], NULL
, (void*)testing
, (void*)i
) < 0)
93 for (i
= 0; i
< THREADS
; i
++)
95 pthread_join(thread
[i
], &res
);