Search found 25 matches: mutex_lock
Searched query: mutex_lock
- Sun Jun 20, 2021 3:37 pm
- Forum: Drive subsystem
- Topic: Ошибки файловой системы
- Replies: 187
- Views: 108806
Re: Ошибки файловой системы
Current FS code works like this: lock (a mutex guarding access to) a partition, read/write data, unlock the partition. When a thread crashes while reading/writing, the partition is left locked. Therefore other programs can't acquire the lock and access that partition anymore. To illustrate this logi...
Re: life2
Еще один вопрос. Не нравится мне, что все лежит в папке с игрой. Вдруг вот еще на нем программы будут, что копировать? По мне можно в contrib создать папку kos32-bcc, и там будет лежать t2fasm, патч, и helloworld, и набор библиотек. Тогда путь указывать к одной папке. Только это можно сделать тогда,...
- Thu Jul 05, 2018 8:21 pm
- Forum: Coding
- Topic: Узнать начало/размер области данных программы, чтобы всё стереть при выходе из неё?
- Replies: 21
- Views: 20902
Re: Узнать начало/размер области данных программы, чтобы всё стереть при выходе из неё?
... proc user_alloc stdcall, alloc_size:dword push ebx esi edi mov ebx, [current_process] lea ecx, [ebx+PROC.heap_lock] call mutex_lock mov ecx, [alloc_size] add ecx, (4095+PAGE_SIZE) and ecx, not 4095 mov esi, dword [ebx+PROC.heap_base] ; heap_base mov edi, dword [ebx+PROC.heap_top] ...
- Thu Feb 08, 2018 4:57 pm
- Forum: Kernel
- Topic: функции 68.12 и 77.2
- Replies: 5
- Views: 8270
Re: функции 68.12 и 77.2
... = 1. cmpxchg сравнивает [ecx] = 0 c eax=1, сбрасывает zf и грузит [ecx] в eax. Значение v при этом не меняется. Вот код из SDK static inline void mutex_lock(mutex_t *mutex) { int tmp; if( __sync_fetch_and_add(&mutex->lock, 1) == 0) return; while (exchange_acquire (&mutex->lock, 2) != 0) ...
- Thu Nov 10, 2016 7:50 pm
- Forum: Distributives
- Topic: "Ночные" сборки KolibriOS
- Replies: 1357
- Views: 588494
Re: "Ночные" сборки KolibriOS
Очевидно, что NULL, указатель всё-таки. Вот выход из user_alloc:
Code: Select all
.m_exit:
mov ecx, [current_process]
lea ecx, [ecx+PROC.heap_lock]
call mutex_unlock
xor eax, eax
pop edi
pop esi
pop ebx
ret
- Thu Nov 03, 2016 6:25 pm
- Forum: HLL
- Topic: gcc и kolibri
- Replies: 63
- Views: 60886
Re: gcc и kolibri
... на консоли ничего. В процессе работы никакой функции из console.obj не вызывается. Толком не разобрался ещё, но в _putc_r сначала вызывается mutex_lock, потом mutex_init_function, потом он как-то прыгает, точно не понял как и куда и уже mutex_unlock. То есть кроме работы с мьютексами ничего ...
- Mon Feb 01, 2016 9:41 pm
- Forum: Video
- Topic: Встроенные видеокарты Intel
- Replies: 456
- Views: 218339
Re: Встроенные видеокарты Intel
WARNING: at intel_display.c:1340 cursor on pipe A assertion failure (expected off, current on) WARNING: at intel_display.c:1340 DRM Erroruncleared fifo underrun on pipe A DRM ErrorCPU pipe A FIFO underrun На эти можно не обращать внимания. WARN_ON(!mutex_is_locked(&dev->struct_mutex)) эту я исп...
- Mon Feb 01, 2016 9:22 pm
- Forum: Video
- Topic: Встроенные видеокарты Intel
- Replies: 456
- Views: 218339
Re: Встроенные видеокарты Intel
Ещё выдержка из лога при "разрушении" окна программы. WARNING: at intel_display.c:1340 cursor on pipe A assertion failure (expected off, current on) WARNING: at intel_display.c:1340 DRM Erroruncleared fifo underrun on pipe A DRM ErrorCPU pipe A FIFO underrun Set DISPLAY handler WARN_ON(!mu...
- Mon May 04, 2015 10:41 pm
- Forum: Compilers and programming
- Topic: Toolchain
- Replies: 17
- Views: 17278
Re: Toolchain
Появилось время, снова настраивал компилятор. Получилось скомпилировать несколько файлов на C++. Но теперь обнаружилась другая проблема: При динамическом выделении памяти C++ компилятор страшно ругается непонятными словами :( Если написать: int* a = new int; // или int* b = new int(10); то получаютс...
- Tue Apr 14, 2015 8:26 pm
- Forum: Drive subsystem
- Topic: NTFS
- Replies: 299
- Views: 179438
Re: NTFS
... параллельно из разных потоков. Сейчас все файловые системы держат для каждого раздела отдельный мьютекс, все функции файловой системы начинаются с mutex_lock на этом мьютексе и заканчиваются mutex_unlock - осталось от времени, когда глобальная блокировка была, далеко от идеала, но работает. Read-write ...
- Sun Sep 14, 2014 2:40 pm
- Forum: Design
- Topic: Новая модель ядра
- Replies: 454
- Views: 209130
Re: Новая модель ядра
Многострадальное ядро kolibri-process готово к тестам. Хотя Колибри поддерживает многопоточность, потоки одного процесса фактически независимы друг от друга. Каждый поток хранит свой набор данных, в том числе и разделяемых между потоками одного процесса. Это создаёт проблемы при изменении таких данн...
- Wed Jan 29, 2014 8:32 pm
- Forum: Application libraries
- Topic: Mesa
- Replies: 194
- Views: 82740
Re: Mesa
Code: Select all
unresolved __assert_func
unresolved __ctype_ptr__
unresolved __emutls_get_address
unresolved __errno
unresolved __fpclassifyf
unresolved __mutex_lock
unresolved __signbitf
unresolved __srget_r
Это что запускалось и как ? Пиши пожалуйста подробней.
- Tue Oct 23, 2012 1:13 pm
- Forum: Coding
- Topic: Вопросы по некоторым функциям...
- Replies: 65
- Views: 26780
Re: Вопросы по некоторых функциях...
Serge, шутник однако. :) Вот в более вменяемом формате: proc mutex_lock, .ptrMutex begin push ebx ecx esi mov esi, [.ptrMutex] .loop: mov ecx, [esi] test ecx, ecx jz .free mov eax, 68 mov ebx, 1 int $40 jmp .loop .free: inc ecx xchg ecx, [esi] test ecx, ...
- Mon Oct 22, 2012 7:04 pm
- Forum: Coding
- Topic: Вопросы по некоторым функциям...
- Replies: 65
- Views: 26780
Re: Вопросы по некоторых функциях...
void mutex_lock(volatile uint32_t *val) { uint32_t tmp; __asm__ __volatile__ ( "0:\n\t" "mov %0, %1\n\t" "testl %1, %1\n\t" "jz 1f\n\t" "movl $68, %%eax\n\t" "movl $1, %%ebx\n\t" ...
- Mon Sep 10, 2012 11:10 am
- Forum: Distributives
- Topic: 0.7.7.0 и текущее состояние: (1) сравнение API ядра
- Replies: 21
- Views: 19935
Re: 0.7.7.0 и текущее состояние: (1) сравнение API ядра
... в core/irq.inc ) На настоящий момент добавлено 14 новых функций программного интерфейса драйверов : dd szMutexInit , mutex_ini t dd szMutexLock , mutex_lock dd szMutexUnlock , mutex_unlock Новые функции. (Линукс-подобные мьютексы ядра; все они находятся в core/sched.inc ). dd szPciApi , pci_api_drv ...