do NOT set thread name in main thread
parent
e97d85046e
commit
01c2beed8a
|
|
@ -377,26 +377,14 @@ int sf_socket_server_ex(SFContext *sf_context)
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void *accept_thread_entrance(void *arg)
|
static void accept_run(struct accept_thread_context *accept_context)
|
||||||
{
|
{
|
||||||
struct accept_thread_context *accept_context;
|
|
||||||
int incomesock;
|
int incomesock;
|
||||||
int port;
|
int port;
|
||||||
struct sockaddr_in inaddr;
|
struct sockaddr_in inaddr;
|
||||||
socklen_t sockaddr_len;
|
socklen_t sockaddr_len;
|
||||||
struct fast_task_info *task;
|
struct fast_task_info *task;
|
||||||
|
|
||||||
accept_context = (struct accept_thread_context *)arg;
|
|
||||||
|
|
||||||
#ifdef OS_LINUX
|
|
||||||
{
|
|
||||||
char thread_name[32];
|
|
||||||
snprintf(thread_name, sizeof(thread_name), "%s-listen",
|
|
||||||
accept_context->sf_context->name);
|
|
||||||
prctl(PR_SET_NAME, thread_name);
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
while (g_sf_global_vars.continue_flag) {
|
while (g_sf_global_vars.continue_flag) {
|
||||||
sockaddr_len = sizeof(inaddr);
|
sockaddr_len = sizeof(inaddr);
|
||||||
incomesock = accept(accept_context->server_sock,
|
incomesock = accept(accept_context->server_sock,
|
||||||
|
|
@ -439,7 +427,21 @@ static void *accept_thread_entrance(void *arg)
|
||||||
sf_release_task(task);
|
sf_release_task(task);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
static void *accept_thread_entrance(struct accept_thread_context
|
||||||
|
*accept_context)
|
||||||
|
{
|
||||||
|
#ifdef OS_LINUX
|
||||||
|
{
|
||||||
|
char thread_name[32];
|
||||||
|
snprintf(thread_name, sizeof(thread_name), "%s-listen",
|
||||||
|
accept_context->sf_context->name);
|
||||||
|
prctl(PR_SET_NAME, thread_name);
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
accept_run(accept_context);
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -464,7 +466,7 @@ void _accept_loop(struct accept_thread_context *accept_context,
|
||||||
else {
|
else {
|
||||||
for (i=0; i<accept_threads; i++) {
|
for (i=0; i<accept_threads; i++) {
|
||||||
if ((result=pthread_create(&tid, &thread_attr,
|
if ((result=pthread_create(&tid, &thread_attr,
|
||||||
accept_thread_entrance,
|
(void * (*)(void *))accept_thread_entrance,
|
||||||
accept_context)) != 0)
|
accept_context)) != 0)
|
||||||
{
|
{
|
||||||
logError("file: "__FILE__", line: %d, "
|
logError("file: "__FILE__", line: %d, "
|
||||||
|
|
@ -510,14 +512,14 @@ void sf_accept_loop_ex(SFContext *sf_context, const bool block)
|
||||||
|
|
||||||
if (block) {
|
if (block) {
|
||||||
_accept_loop(accept_contexts + 1, sf_context->accept_threads - 1);
|
_accept_loop(accept_contexts + 1, sf_context->accept_threads - 1);
|
||||||
accept_thread_entrance(accept_contexts + 1);
|
accept_run(accept_contexts + 1);
|
||||||
} else {
|
} else {
|
||||||
_accept_loop(accept_contexts + 1, sf_context->accept_threads);
|
_accept_loop(accept_contexts + 1, sf_context->accept_threads);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
if (block) {
|
if (block) {
|
||||||
_accept_loop(accept_contexts, sf_context->accept_threads - 1);
|
_accept_loop(accept_contexts, sf_context->accept_threads - 1);
|
||||||
accept_thread_entrance(accept_contexts);
|
accept_run(accept_contexts);
|
||||||
} else {
|
} else {
|
||||||
_accept_loop(accept_contexts, sf_context->accept_threads);
|
_accept_loop(accept_contexts, sf_context->accept_threads);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue