Lines Matching refs:area

26 	\brief Represents an area of the messaging service shared between kernel
30 the area.
51 MessagingArea *area = new(nothrow) MessagingArea;
52 if (!area)
55 // clone the kernel area
56 area_id areaID = clone_area("messaging", (void**)&area->fHeader,
59 delete area;
64 area->fID = areaID;
65 area->fSize = area->fHeader->size;
66 area->fLockSem = lockSem;
67 area->fCounterSem = counterSem;
68 area->fNextArea = NULL;
70 _area = area;
125 // remove it from the area
126 // (as long as the area is still locked, noone will overwrite the contents)
151 MessagingArea::SetNextArea(MessagingArea *area)
153 fNextArea = area;
218 and registrar. By default one area is used as a ring buffer. The kernel
219 adds messages to it, the registrar removes them. If the area is full, the
220 kernel creates a new one and adds it to the area list.
296 // create the area
404 // get it from the first area
405 MessagingArea *area = fFirstArea;
406 area->Lock();
407 while (area->CountCommands() > 0) {
408 const messaging_command *command = area->PopCommand();
411 ERROR("MessagingService::_CommandProcessor(): area %p (%"
413 "return any more commands.", area, area->ID(),
414 area->CountCommands());
432 // there is a new area we don't know yet
433 if (!area->NextArea() && area->NextKernelAreaID() >= 0) {
436 status_t error = MessagingArea::Create(area->NextKernelAreaID(),
439 area->SetNextArea(nextArea);
444 "kernel area %" B_PRId32 ": %s\n", area->NextKernelAreaID(),
450 // if the current area is empty and there is a next one, we discard the
452 if (area->NextArea() && area->CountCommands() == 0) {
453 fFirstArea = area->NextArea();
454 area->Discard();
455 area->Unlock();
456 delete area;
458 area->Unlock();