Ad Widget

Collapse

Исходный код zabbix агента

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • SlaDER
    Junior Member
    • Jul 2012
    • 9

    #1

    Исходный код zabbix агента

    Здравствуйте!

    В качестве спортивного интереса разбираю код zabbix agent'а, просто для себя. В коде zabbix_agentd.c присутствует следующее:

    Code:
    		thread_args->server_num = i + 1;
    		thread_args->args = NULL;
    
    		switch (thread_args->process_type)
    		{
    			case ZBX_PROCESS_TYPE_COLLECTOR:
    				threads[i] = zbx_thread_start(collector_thread, thread_args);
    				break;
    			case ZBX_PROCESS_TYPE_LISTENER:
    				thread_args->args = &listen_sock;
    				threads[i] = zbx_thread_start(listener_thread, thread_args);
    				break;
    			case ZBX_PROCESS_TYPE_ACTIVE_CHECKS:
    				thread_args->args = &CONFIG_ACTIVE_ARGS[j++];
    				threads[i] = zbx_thread_start(active_checks_thread, thread_args);
    				break;
    		}

    Не могу никак понять, откуда появляются переменные: active_checks_thread, listener_thread и collector_thread. Они нигде не объявляются, я уже на несколько раз grep -r просматривал.

    Если кто знает подскажите пожалуйста.
  • Jimson
    Senior Member
    • Jan 2008
    • 1327

    #2
    это не "переменная" это обработчик нити, например:

    ZBX_THREAD_ENTRY(collector_thread, args)
    {
    ...
    }

    в stats.c

    Comment

    • SlaDER
      Junior Member
      • Jul 2012
      • 9

      #3
      Спасибо, огромное попробую разобраться. Уже весь извелся)

      Originally posted by jimson
      это не "переменная" это обработчик нити, например:

      Zbx_thread_entry(collector_thread, args)
      {
      ...
      }

      в stats.c

      Comment

      Working...