Создание Поточных обратных вызовов в XS

Проверка после переменных:

, Если все сбои пытаются использовать каталог /tmp.

, можно также использовать tempnam функция для генерации уникального временного имени файла.

5
задан 4 revs 26 November 2009 в 18:39
поделиться

4 ответа

Мы нашли решение этой проблемы, используя потоки интерпретатора Perl и threads::shared. Смотрите эти

Time.xs

Также здесь приведен пример скрипта, использующего этот код.

TestTimer.pl

-1
ответ дан 15 December 2019 в 06:28
поделиться

$ time должно быть общей переменной, иначе Perl будет работать с отдельными копиями переменной.

0
ответ дан 15 December 2019 в 06:28
поделиться

Быстрые комментарии:

  • Не используйте структуры Perl (SV, AV, HV, ...) вне контекста объекта интерпретатора Perl . Т.е. не используйте его как статические данные C-уровня. Он взорвется в контексте потоковой передачи. Поверьте, я был там.
  • Ознакомьтесь с «Безопасным хранением статических данных в XS» раздел на странице руководства perlxs .
  • Некоторые из тех вещей, которые вы делаете, выглядят довольно закрытыми с точки зрения perlapi. Однако я не совсем уверен.
4
ответ дан 15 December 2019 в 06:28
поделиться

Я предпочитаю хранить данные в хэше PL_modglobal . Он автоматически привязывается к текущему интерпретатору.

0
ответ дан 15 December 2019 в 06:28
поделиться
Другие вопросы по тегам:

Похожие вопросы: