mirror of
https://gitee.com/acl-dev/acl.git
synced 2024-12-16 01:40:52 +08:00
cf2528eb7c
完善了非阻塞IO的SSL功能;将 acl/samples/ 下的示例分别移到 lib_acl 及 lib_protocol 目录下
61 lines
1.2 KiB
C
61 lines
1.2 KiB
C
#include "lib_acl.h"
|
|
#include <getopt.h>
|
|
|
|
static int __num = 10;
|
|
|
|
static void usage(const char *procname)
|
|
{
|
|
printf("usage: %s -h[help] -t logger_files -n num -N nthreads\n", procname);
|
|
printf("examples: %s -t TCP:127.0.0.1:12345|UDP:127.0.0.1:12345|./test.log -n 100 -N 2\n", procname);
|
|
}
|
|
|
|
static void thread_main(void *arg acl_unused)
|
|
{
|
|
int i = 0;
|
|
|
|
for (i = 0; i < __num; i++)
|
|
acl_msg_info("%s(%d), log %d", __FILE__, __LINE__, i);
|
|
}
|
|
|
|
int main(int argc, char *argv[])
|
|
{
|
|
int i, ch, nthread = 1;
|
|
char buf[1024];
|
|
acl_pthread_pool_t *pool;
|
|
|
|
buf[0] = 0;
|
|
while ((ch = getopt(argc, argv, "ht:n:N:")) > 0) {
|
|
switch (ch) {
|
|
case 'h':
|
|
usage(argv[0]);
|
|
return (0);
|
|
case 't':
|
|
snprintf(buf, sizeof(buf), "%s", optarg);
|
|
break;
|
|
case 'n':
|
|
__num = atoi(optarg);
|
|
break;
|
|
case 'N':
|
|
nthread = atoi(optarg);
|
|
break;
|
|
default:
|
|
break;
|
|
}
|
|
}
|
|
|
|
if (buf[0] == 0) {
|
|
usage(argv[0]);
|
|
return (0);
|
|
}
|
|
|
|
acl_msg_open(buf, "log_test");
|
|
|
|
pool = acl_thread_pool_create(nthread, 100);
|
|
for (i = 0; i < nthread; i++)
|
|
acl_pthread_pool_add(pool, thread_main, NULL);
|
|
acl_pthread_pool_destroy(pool);
|
|
|
|
acl_msg_close();
|
|
return (0);
|
|
}
|