Board.KolibriOS.org

Official KolibriOS board
It is currently Fri Dec 06, 2019 3:19 am

All times are UTC+03:00




Post new topic  Reply to topic  [ 4 posts ] 
Author Message
PostPosted: Sun Mar 01, 2009 8:42 pm 
Offline

Joined: Fri Oct 12, 2007 1:04 pm
Posts: 141
http://kolibrios.org/?p=Documentation&sp=SystemFunctions&sfp=60
Quote:
Формат IPC-буфера:

* +0: dword: если здесь не 0, то буфер считается заблокированным; блокируйте/разблокируйте буфер, когда вы с ним активно работаете и вам надо, чтобы извне не изменялись данные буфера (не поступали новые сообщения)
* +4: dword: занято места в буфере (в байтах)
* +8: первое сообщение
* +8+n: второе сообщение
* ...

Формат сообщения:

* +0: dword: PID процесса/потока, пославшего сообщение
* +4: dword: длина сообщения (не считая этот заголовок)
* +8: n*byte: данные сообщения

Попробовав написать исходя из этой документации, получил полную фигню. Посмотрев в MTDBG, увидел, что первое сообщение записывается прямо в буффер, а не в +8. Так что надо бы поправить доку (и sysfuncr.txt тоже).


Top
   
PostPosted: Sun Mar 01, 2009 11:07 pm 
Offline
Kernel Developer
User avatar

Joined: Mon Nov 28, 2005 8:00 pm
Posts: 1601
Документация в порядке. Пример использования есть в приложении ipc, которое на svn почему-то запихнули в network (в исходниках дистра оно в develop/examples).
Ну а подобную претензию я уже слышал вот здесь, а мой ответ можно прочитать, посмотрев немного ниже.

_________________
Ушёл к умным, знающим и культурным людям.


Top
   
PostPosted: Mon Mar 02, 2009 10:38 am 
Offline

Joined: Wed Mar 26, 2008 12:44 pm
Posts: 225
Я тоже на этом попадался :) Поле "занято места в буфере" нужно было инициализировать числом 8. Неплохо бы указать в качестве примера в документации.


Top
   
PostPosted: Mon Mar 02, 2009 2:37 pm 
Offline
User avatar

Joined: Thu Mar 01, 2007 4:16 pm
Posts: 426
> Я тоже на этом попадался :)
Пора свой клуб создавать :-).

..bw


Top
   
Display posts from previous:  Sort by  
Post new topic  Reply to topic  [ 4 posts ] 

All times are UTC+03:00


Who is online

Users browsing this forum: Yandex [Bot] and 1 guest


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Limited