Board.KolibriOS.org

Official KolibriOS board
It is currently Fri May 29, 2020 10:57 am

All times are UTC+03:00


Search found 23 matches
Search term used: mutex_lock Search these results:

Author Message

 Forum: Coding   Topic: Узнать начало/размер области данных программы, чтобы всё стереть при выходе из неё?

Posted: Thu Jul 05, 2018 8:21 pm 

Replies: 21
Views: 5683


... 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] ...

 Forum: Kernel   Topic: функции 68.12 и 77.2

Posted: Thu Feb 08, 2018 4:57 pm 

Replies: 5
Views: 2293


... = 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) ...

 Forum: Distributives   Topic: "Ночные" сборки KolibriOS

Posted: Thu Nov 10, 2016 7:50 pm 

Replies: 1322
Views: 211924


Очевидно, что NULL, указатель всё-таки. Вот выход из user_alloc: .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

 Forum: HLL   Topic: gcc и kolibri

 Post subject: Re: gcc и kolibri
Posted: Thu Nov 03, 2016 6:25 pm 

Replies: 59
Views: 23428


... на консоли ничего. В процессе работы никакой функции из console.obj не вызывается. Толком не разобрался ещё, но в _putc_r сначала вызывается mutex_lock, потом mutex_init_function, потом он как-то прыгает, точно не понял как и куда и уже mutex_unlock. То есть кроме работы с мьютексами ничего ...

 Forum: Video   Topic: Встроенные видеокарты Intel

Posted: Mon Feb 01, 2016 9:41 pm 

Replies: 456
Views: 95352


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)) эту я исп...

 Forum: Video   Topic: Встроенные видеокарты Intel

Posted: Mon Feb 01, 2016 9:22 pm 

Replies: 456
Views: 95352


Ещё выдержка из лога при "разрушении" окна программы. 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 WAR...

 Forum: Compilers and programming   Topic: Toolchain

 Post subject: Re: Toolchain
Posted: Mon May 04, 2015 10:41 pm 

Replies: 16
Views: 5918


Появилось время, снова настраивал компилятор. Получилось скомпилировать несколько файлов на C++. Но теперь обнаружилась другая проблема: При динамическом выделении памяти C++ компилятор страшно ругается непонятными словами :( Если написать: int* a = new int; // или int* b = new int(10); то получаютс...

 Forum: Drive subsystem   Topic: NTFS

 Post subject: Re: NTFS
Posted: Tue Apr 14, 2015 8:26 pm 

Replies: 292
Views: 56093


... параллельно из разных потоков. Сейчас все файловые системы держат для каждого раздела отдельный мьютекс, все функции файловой системы начинаются с mutex_lock на этом мьютексе и заканчиваются mutex_unlock - осталось от времени, когда глобальная блокировка была, далеко от идеала, но работает. Read-write ...

 Forum: Design   Topic: Новая модель ядра

Posted: Sun Sep 14, 2014 2:40 pm 

Replies: 454
Views: 107860


Многострадальное ядро kolibri-process готово к тестам. Хотя Колибри поддерживает многопоточность, потоки одного процесса фактически независимы друг от друга. Каждый поток хранит свой набор данных, в том числе и разделяемых между потоками одного процесса. Это создаёт проблемы при изменении таких данн...

 Forum: Application libraries   Topic: Mesa

 Post subject: Re: Mesa
Posted: Wed Jan 29, 2014 8:32 pm 

Replies: 194
Views: 31100


Code:
unresolved __assert_func
unresolved __ctype_ptr__
unresolved __emutls_get_address
unresolved __errno
unresolved __fpclassifyf
unresolved __mutex_lock
unresolved __signbitf
unresolved __srget_r
Это импорт из libc.dll, такого не должно быть.
Это что запускалось и как ? Пиши пожалуйста подробней.

 Forum: Coding   Topic: Вопросы по некоторых функциях...

Posted: Tue Oct 23, 2012 1:13 pm 

Replies: 65
Views: 13039


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, ...

 Forum: Coding   Topic: Вопросы по некоторых функциях...

Posted: Mon Oct 22, 2012 7:04 pm 

Replies: 65
Views: 13039


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" ...

 Forum: Distributives   Topic: 0.7.7.0 и текущее состояние: (1) сравнение API ядра

Posted: Mon Sep 10, 2012 11:10 am 

Replies: 21
Views: 9577


... в 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 ...

 Forum: Kernel   Topic: Запуск тяжелых приожений

Posted: Thu Mar 22, 2012 2:02 am 

Replies: 18
Views: 11362


... на красную тряпку, а mov [edx+TASKDATA.state], 1 в упор не видим ? А как без change_task переключится на другую задачу ? Я не в курсе. Объясняю. mutex_lock() проверяет состояние счётчика блокировок MUTEX.count и если мьютекс уже занят, добавляет текущий поток в очередь ожидания мьютекса list_add_tail ...

 Forum: Kernel   Topic: Запуск тяжелых приожений

Posted: Thu Mar 22, 2012 1:40 am 

Replies: 18
Views: 11362


И вот это вот портянка: align 4 mutex_lock: dec [ecx+MUTEX.count] jns .done pushfd cli sub esp, sizeof.MUTEX_WAITER list_add_tail esp, ecx ;esp= new waiter, ecx= list head mov edx, [TASK_BASE] mov [esp+MUTEX_WAITER.task], edx .forever: mov ...
Sort by:  
Page 1 of 2 [ Search found 23 matches ]


All times are UTC+03:00


Jump to:  
cron
Powered by phpBB® Forum Software © phpBB Limited