Search found 25 matches: mutex_lock

Searched query: mutex_lock

by dunkaist
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...
by maxcodehack
Thu Nov 05, 2020 6:59 pm
Forum: Games
Topic: life2
Replies: 62
Views: 25544

Re: life2

Еще один вопрос. Не нравится мне, что все лежит в папке с игрой. Вдруг вот еще на нем программы будут, что копировать? По мне можно в contrib создать папку kos32-bcc, и там будет лежать t2fasm, патч, и helloworld, и набор библиотек. Тогда путь указывать к одной папке. Только это можно сделать тогда,...
by 0CodErr
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] ...
by Serge
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) ...
by b00bl1k
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
by GerdtR
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. То есть кроме работы с мьютексами ничего ...
by Serge
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)) эту я исп...
by Kopa
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...
by Nikolai1
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); то получаютс...
by CleverMouse
Tue Apr 14, 2015 8:26 pm
Forum: Drive subsystem
Topic: NTFS
Replies: 299
Views: 179438

Re: NTFS

... параллельно из разных потоков. Сейчас все файловые системы держат для каждого раздела отдельный мьютекс, все функции файловой системы начинаются с mutex_lock на этом мьютексе и заканчиваются mutex_unlock - осталось от времени, когда глобальная блокировка была, далеко от идеала, но работает. Read-write ...
by Serge
Sun Sep 14, 2014 2:40 pm
Forum: Design
Topic: Новая модель ядра
Replies: 454
Views: 209130

Re: Новая модель ядра

Многострадальное ядро kolibri-process готово к тестам. Хотя Колибри поддерживает многопоточность, потоки одного процесса фактически независимы друг от друга. Каждый поток хранит свой набор данных, в том числе и разделяемых между потоками одного процесса. Это создаёт проблемы при изменении таких данн...
by Serge
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
Это импорт из libc.dll, такого не должно быть.
Это что запускалось и как ? Пиши пожалуйста подробней.
by johnfound
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, ...
by Serge
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" ...
by FireWall
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 ...