Spec-Zone .ru
спецификации, руководства, описания, API
Spec-Zone .ru
спецификации, руководства, описания, API
Библиотека разработчика Mac Разработчик
Поиск

 

Эта страница руководства является частью версии 5.0 Инструментов XCode

Получить эти инструменты:

Если Вы выполняете версию Инструментов XCode кроме 5,0, просматриваете документацию локально:

Читать страницы руководства

Страницы руководства предназначаются как справочник для людей, уже понимающих технологию.

  • Чтобы изучить, как руководство организовано или узнать о синтаксисе команды, прочитайте страницу руководства для страниц справочника (5).

  • Для получения дополнительной информации об этой технологии, ищите другую документацию в Библиотеке Разработчика Apple.

  • Для получения общей информации о записи сценариев оболочки, считайте Shell, Пишущий сценарий Учебника для начинающих.



PCAP_BREAKLOOP(3PCAP)                                                                  PCAP_BREAKLOOP(3PCAP)



NAME
       pcap_breakloop - force a pcap_dispatch() or pcap_loop() call to return

SYNOPSIS
       #include <pcap/pcap.h>

       void pcap_breakloop(pcap_t *);

DESCRIPTION
       pcap_breakloop()  sets  a  flag  that will force pcap_dispatch() or pcap_loop() to return rather than
       looping; they will return the number of packets that have been processed so far, or -2 if no  packets
       have been processed so far.

       This  routine is safe to use inside a signal handler on UNIX or a console control handler on Windows,
       as it merely sets a flag that is checked within the loop.

       The flag is checked in loops reading packets from the OS - a signal by itself  will  not  necessarily
       terminate  those  loops  -  as well as in loops processing a set of packets returned by the OS.  Note
       that if you are catching signals on UNIX systems that support restarting system calls after a signal,
       and  calling  pcap_breakloop()  in the signal handler, you must specify, when catching those signals,
       that system calls should NOT be restarted by that signal.  Otherwise, if  the  signal  interrupted  a
       call  reading  packets  in a live capture, when your signal handler returns after calling pcap_break-loop(), pcap_breakloop(),
       loop(), the call will be restarted, and the loop will not terminate until more packets arrive and the
       call completes.

       Note  also  that,  in  a  multi-threaded  application,  if  one thread is blocked in pcap_dispatch(),
       pcap_loop(), pcap_next(), or pcap_next_ex(), a call to pcap_breakloop() in a  different  thread  will
       not  unblock  that  thread;  you  will  need to use whatever mechanism the OS provides for breaking a
       thread out of blocking calls in order to unblock the thread, such as thread cancellation  in  systems
       that support POSIX threads.

       Note  that  pcap_next() and pcap_next_ex() will, on some platforms, loop reading packets from the OS;
       that loop will not necessarily be terminated by a signal, so pcap_breakloop() should be used to  ter-minate terminate
       minate packet processing even if pcap_next() or pcap_next_ex() is being used.

       pcap_breakloop()  does  not guarantee that no further packets will be processed by pcap_dispatch() or
       pcap_loop() after it is called; at most one more packet might be processed.

       If -2 is returned from pcap_dispatch() or pcap_loop(), the flag is cleared, so a subsequent call will
       resume  reading  packets.  If a positive number is returned, the flag is not cleared, so a subsequent
       call will return -2 and clear the flag.

SEE ALSO
       pcap(3PCAP), pcap_loop(3PCAP), pcap_next_ex(3PCAP)



                                                5 April 2008                           PCAP_BREAKLOOP(3PCAP)

Сообщение о проблемах

Способ сообщить о проблеме с этой страницей руководства зависит от типа проблемы:

Ошибки содержания
Ошибки отчета в содержании этой документации со ссылками на отзыв ниже.
Отчеты об ошибках
Сообщите об ошибках в функциональности описанного инструмента или API через Генератор отчетов Ошибки.
Форматирование проблем
Отчет, форматирующий ошибки в интерактивной версии этих страниц со ссылками на отзыв ниже.