Описание тега reentrancy
Повторное вхождение обычно относится к подпрограммам, функциям, методам и мьютексам. Подпрограмма считается реентерабельной, если ее можно безопасно вызвать до завершения предыдущего вызова.
2
ответа
Segfault на srandom_r
Я в своем уме. Этот тривиальный код дает мне Segfault, что может быть не так?? struct random_data *qq; qq = calloc(50, sizeof(struct random_data)); srandom_r(time(NULL), qq); Теперь, если я изменю это так, это работает: struct random_data qq; srando…
02 сен '13 в 09:13
1
ответ
KVO с семантикой Run-to-Completion - возможно ли это?
Недавно я столкнулся с проблемами повторного входа в КВО. Чтобы визуализировать проблему, я хотел бы показать минимальный пример. Рассмотрим интерфейс AppDelegate учебный класс @interface AppDelegate : UIResponder <UIApplicationDelegate> @prop…
07 авг '12 в 16:21
0
ответов
Предотвращение повторного входа и обеспечение согласованного состояния
Допустим, у меня есть C API, который выглядит так: // configure various parameters int set_option(const char* name, const char* value); // callback invoked during long running operation typedef int (*callback_t)(void* whatever); // start a long runn…
06 ноя '11 в 02:45
1
ответ
Windows: как порождать потоки из (NDIS) драйвера ядра?
Какая функция рекомендуется для создания нового потока в контексте NDIS5/6? Ищите что-то, что гарантированно будет работать при IRQL=PASSIVE (например, без bsods из ничего); путем быстрого осмотра ndis.h содержание, ничего не нашел. Кроме того, план…
05 янв '12 в 19:38
1
ответ
Python: Как создать менеджер контекста для безопасного одновременного входа, который отличается в каждом контексте
Я хочу иметь объект conManager это экземпляр диспетчера контекста с повторным входом, так что всякий раз, когда я вхожу и выхожу из его контекста, он печатает число, но число должно быть на единицу больше, чем номер предыдущего контекста (начиная с …
14 дек '17 в 08:25
2
ответа
Повторный вход или нет с этим кодом NetBSD
Я изучаю "чтение кода", читая фрагменты исходного кода NetBSD.(для тех, кто заинтересован, я читаю ) И я нашел эту функцию: /* convert IP address to a string, but not into a single buffer */ char * naddr_ntoa(naddr a) { #define NUM_BUFS 4 static int…
20 сен '12 в 06:05
0
ответов
Android метод NDK имеет проблему повторного входа
Это мой метод NDK: void FrameReceived(int width, int height, const char *rawImageBytes, int size, jboolean remote) { //LOGE(".... **** ....FrameReceived Begin = %d", size); if(size == 0) return; jboolean isAttached; JNIEnv *env; jint jParticipant; j…
30 апр '18 в 16:14
3
ответа
Потоки и статические методы в C#
Вот бессмысленный метод расширения в качестве примера: public static class MyExtensions { public static int MyExtensionMethod(this MyType e) { int x = 1; x = 2; return x } } Скажем, поток выполнения завершается до строки включительно: x = 2; Затем п…
27 июн '10 в 23:49
2
ответа
Загадочные предупреждения "вычисленное значение не используется" в __atomic_exchange_n
Я разработал реентерабельную функцию, основанную на атомарных встроенных функциях gcc. К сожалению, я получаю загадочные предупреждения о "вычисленных, но не используемых" значениях: $ gcc -c -Wall ss.c ss.c: In function ‘ss_wrapper’: ss.c:87:3: war…
06 сен '15 в 12:42
1
ответ
Сделать существующий код ANSI C потокобезопасным и повторно входящим
Я работаю над старой устаревшей системой ANSI C, которая изобилует множеством глобальных переменных. Я являюсь частью команды, занимающейся рефакторингом существующей кодовой базы, чтобы сделать код повторно входящим и потокобезопасным. Я нашел поле…
03 ноя '13 в 11:10
0
ответов
Эффект от использования обработчика прерываний
Для https://en.wikipedia.org/wiki/Reentrancy_(computing), почему "если функция используется в обработчике прерываний с повторным входом и в функции возникает второе прерывание, вторая подпрограмма будет зависать вечно".? int function() { mutex_lock(…
26 фев '19 в 11:27
2
ответа
Повторный вход кода против безопасности потоков
В чем разница между понятиями "повторный вход в код" и "безопасность потоков"? Согласно ссылке, указанной ниже, фрагмент кода может быть одним из них, обоими или ни одним из них. Reentrant и потокобезопасный код Я не был в состоянии понять объяснени…
09 дек '08 в 10:45
2
ответа
pthread: уничтожение глобального статического мьютекса
Этот код был взят из 3-го издания Расширенного программирования в среде UNIX, написанного Ричардом Стивенсом. Это пример того, как сделать реентерабельную версию getenv(), Это показано здесь только в целях обучения. /* Copyright (c) W.R.Stevens */ #…
13 ноя '14 в 00:57
0
ответов
Как я могу приостановить SQLCE-запрос до тех пор, пока к таблице, к которой он обращается, больше не будет обращаться?
У меня есть метод, который запрашивает таблицу для подсчета ее записей. QA обнаружил "крайний случай", когда, если конкретная операция отменяется в определенном порядке и скорости (как можно быстрее), GUI "забывает" об остальных записях в этой табли…
22 сен '14 в 23:38
2
ответа
Что такое повторяющийся парсер?
Может кто-то объяснить это мне? В частности разница между: http://github.com/whymirror/greg и http://piumarta.com/software/peg/ Первый является вернувшейся версией позднего.
14 мар '10 в 06:02
2
ответа
Как я могу предотвратить возникновение проблем с DLL, если она используется более одного раза?
Как отмечает Питер Дунихо в своем комментарии, я был зациклен на красной сельди, когда мне следовало сосредоточиться на чем-то другом. Когда я использую Symbol.Barcode.Reader и Symbol.Barcode.ReaderData в одной форме, они работают нормально. Я испол…
30 дек '14 в 21:43
2
ответа
MySQL и PHP: атомарность и повторяемость блока кода PHP, выполняющего два последующих запроса - насколько опасно?
В MySQL я должен проверить, вернул ли запрос select какие-либо записи, если нет, я вставляю запись. Однако я боюсь, что вся операция if-else в сценариях PHP НЕ настолько атомарна, как хотелось бы, то есть в некоторых сценариях она будет прерываться,…
23 июн '10 в 18:19
5
ответов
Функция memcpy() реентерабельна?
Я вызываю некоторые функции C++ внутри обработчика сигнала, и моя программа завершается из-за ошибки сегментации. Когда я проверяю с GDB, функция memcpy(), где я получаю SIGSEGV. Я хотел бы знать, является ли memcpy() реентерабельной функцией или не…
17 мар '11 в 08:09
4
ответа
Можно ли ввести многопоточность в DotNe t без простоты создания новых потоков?
У меня есть цикл из нескольких сотен предметов, которые нужно обработать. Каждый элемент обрабатывается путем условной установки глобального SQLConnection, при котором элемент обрабатывается с использованием этого SQLConnection как части обработки. …
09 мар '11 в 14:24
5
ответов
Блокировка повторного входа
Немного помощи, пожалуйста, рассмотрите немного кода ниже. public class Widget { public synchronized void doSomething() { ... } } public class LoggingWidget extends Widget { public synchronized void doSomething() { System.out.println(toString() + ":…
09 июл '09 в 15:37