* Applied Korli's mutex_unlock() fix to block_cache.cpp.
* Removed block_cache_priv.h, as it's no longer needed (moved its definitions
into block_cache.cpp, as in the kernel file).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26296 a95241bf-73f2-0310-859d-f6bbb57e9c96
systems like BFS only hold a read lock when reading the map, accessing the
file map wasn't safe.
* Made FileMap::Free() private, and renamed it to _Free().
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26295 a95241bf-73f2-0310-859d-f6bbb57e9c96
B_BAD_VALUE or B_IS_A_DIRECTORY depending on the vnode type.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26293 a95241bf-73f2-0310-859d-f6bbb57e9c96
longer necessary.
* Optimized file_seek() using this field, too; reading the stat is now only done
when necessary.
* file_read() and file_write() will now return B_IS_A_DIRECTORY so that not
every file system has to care about that particular error code.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26292 a95241bf-73f2-0310-859d-f6bbb57e9c96
- various notes on 060 vs others:
- 060 has 040 compatible mmu, except pgtables must *not* be on copyback memory
- 060 has a processor control reg which has a revision number to use in system_info
- notes on ctx switch:
- must be kept in sync with asm code
- fsave generate variable size frames, so reserve space and use non-predecrementing EA.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26288 a95241bf-73f2-0310-859d-f6bbb57e9c96
delay. The audio is later than the calculated realtime anyways, I suspect
the OSS Node does not advertise it's latency 100% correctly yet.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26285 a95241bf-73f2-0310-859d-f6bbb57e9c96
factors per heap class. The previous bin sizes would in many cases just have
wasted memory by not fully using up the available space while not providing
any more elements than a bigger size. The computed bins ensure that the best
sizes are used based on a min count, min size, alignment and max waste per
page. Also changed the heap sizes to more reasonable values and renamed them
to small, medium and large.
* Remove the shouldGrow parameter from heap_memalign() and just check it using
heap_should_grow() where appropriate.
* Fix readding a nun-full area to the area list, the added page count can be
bigger than one, therefore the check must be free_page_count == pageCount.
* Simplify ensuring correct alignment, just aligning the size instead of
checking each candidate bin for alignment is enough.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26284 a95241bf-73f2-0310-859d-f6bbb57e9c96
* Subtile visual improvements to the SeekSlider.
* Added a PeakView for displaying the audio peaks that are produced by
the AudioProducer.
* A MessageEvent can now directly take a custom BMessage for delivery.
* The peak notification mechanism is a bit separate from the rest of the
Controller notification design, since the notification delivery should
be delayed until the audio is actually audible. I may change this
quick and dirty design though, since it is not so nice. The target
time could also be part of the message and be handled at a different
stage, but that would make it less efficient.
* Layout improvements to the playback controls.
* Code cleanup here and there, changed some license statements.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26280 a95241bf-73f2-0310-859d-f6bbb57e9c96
and store the archived items in the wrong message field. Verified on R5.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26278 a95241bf-73f2-0310-859d-f6bbb57e9c96
to scan loaded libraries, too, as the dependency on network libraries may not
be present in the executable image, but may be "hidden" in one of those
library images (as is the case with Beam).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26277 a95241bf-73f2-0310-859d-f6bbb57e9c96
* fixed broken while loop
* call _InitObject also from the archive constructor
* just noticed while trying to load the R5 epson printer driver, still not working...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26275 a95241bf-73f2-0310-859d-f6bbb57e9c96
* fixed several byte order inconsistencies, it does not make sense to always
convert the byte order input/output values - no we convert where it can
be expected and leave it where it is confusing
* fixed size inconsistencies with respect to family and port, both of which
were sometimes handled as int8, as int16 and as int32 in different places
(now they are always int16)
These fixes make Beam connect to the correct address and port, but it still doesn't work, as it seems to be using UDP instead of TCP (doh!). Will look into that tomorrow.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26269 a95241bf-73f2-0310-859d-f6bbb57e9c96
automatically selected at boot time. Pit and Apic timers are implemented
for now. Thanks Dustin!
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26265 a95241bf-73f2-0310-859d-f6bbb57e9c96
either the selected items, or the entire list if nothing is selected.
* Small cleanups here and there.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26264 a95241bf-73f2-0310-859d-f6bbb57e9c96
the Controller would keep the last audio/video track index across files
(which would be nice for certain situations).
* Better error message for unsupported files, especially for the
B_MEDIA_NO_HANDLER error.
* In the Controller, try to obtain the track duration and ignore tracks that
return a bogus duration. I have some MP3 files on ZETA that are obviously
not handled correctly by the ZETA mp3 decoder. Previously, the player would
just sit there and appeared to have some other internal error.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26261 a95241bf-73f2-0310-859d-f6bbb57e9c96
* adjacent vecs are now joined.
* partial invalidation no longer frees all cached extents.
* the array can now be larger than the needed number of entries, allowing
for a saner array allocation policy.
* it does no longer read the whole file map when the first translation is
requested, but only as much as required (it will still ask the file system
for the maximum file size, but it won't traverse further as long as the
initial request is fulfilled).
* This should help a lot with the ext2 file system that doesn't support real
file extents (but keeps a list of blocks).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26260 a95241bf-73f2-0310-859d-f6bbb57e9c96
* Moved the file_extent array into its own structure (unnamed union problem
with GCC4), and added max_count field (currently unused).
* Minor cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26259 a95241bf-73f2-0310-859d-f6bbb57e9c96
when looking up the target area on free(). This makes free() scale better with
large area counts, as the lookup can abort early when it knows that no area
below the only candidate can contain the address.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26258 a95241bf-73f2-0310-859d-f6bbb57e9c96
* Fixed most of the warnings resulting from that by removing actually not used
variables or moving declaration into the #IF. Left unused functions there
though, as I wouldn't know if they are supposed to be used again.
* Fixed two statements with no effect (clamping to MAX_ANCILLARY_DATA_LEN in
socket.cpp and unsetting fCounterSem in MessagingService.cpp).
* Some style cleanups.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26253 a95241bf-73f2-0310-859d-f6bbb57e9c96
* Rename sHeapList[] to sHeaps[], as there are no heap lists anymore.
* Rename the debug defines to be even more obvious.
* Also initialize allocations by area with non-null values when being paranoid.
* Disabled some debug output.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26252 a95241bf-73f2-0310-859d-f6bbb57e9c96
find our own dummy page. This is equivalent to not finding a page at
all. Fixes#2471.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26248 a95241bf-73f2-0310-859d-f6bbb57e9c96
size. Removes a bit of overhead (call and mutex_lock / mutex_unlock).
* Don't fail if there is exactly enough memory available to satisfy the
reserve request. Not that it would really matter as it's rather an edge case...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26246 a95241bf-73f2-0310-859d-f6bbb57e9c96
wrong pages when allocating a page run unless the run started at page 0 as the
start offset was missing.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26245 a95241bf-73f2-0310-859d-f6bbb57e9c96
empty and there is another empty area already, it is now removed from the
heap and the underlying area is deleted.
* Fix grow suggestions to be based on 20% of a grow size instead of 10% of the
current page count, as the current page count obviously gets larger over time
making 10% of it larger than the grow size itself.
* Fix non-urgent grow request handling so that not two areas at once get added.
* Made some of the debug output more useful, turned off some other and fixed
some comments.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26244 a95241bf-73f2-0310-859d-f6bbb57e9c96
wouldn't be passed the syscall start time anymore. Fixes weird syscall
timings when using strace.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26243 a95241bf-73f2-0310-859d-f6bbb57e9c96
menu name, ie. "(unnamed Ext2 File System)" could become "(12.5 GB Ext2 File System)".
* Minor cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26242 a95241bf-73f2-0310-859d-f6bbb57e9c96