Commit Graph

32672 Commits

Author SHA1 Message Date
Ingo Weinhold
015943d78f Use pthread_once() to guard the initialization of sPaletteConverter. This
changes the semantics slightly: Previously after a failed initialization
another invocation of InitializeDefault() could theoretically initialize the
converter. Since the only error conditions are out of memory and broken app
server connection, this shouldn't really matter, though.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34383 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-11-30 16:26:10 +00:00
Axel Dörfler
be62abafab * Use a condition variable when waiting for a syscall to be done calling.
* Use C++ DoublyLinkedList class instead of the struct list.
* Note, this code is untested yet, but I will test it now (Qemu doesn't work
  on Haiku anymore for some reason) :-)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34382 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-11-30 16:10:11 +00:00
Axel Dörfler
a0973602c3 * Apparently, a drive's size is not always reported the same; at least I have
a drive (which had its MBR created on Linux) report a smaller size than the
  size of its first partition.
* Since other operating systems seem to ignore this, we now relax our validity
  checks and always adjust the size of a child partition to fit into its parent.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34381 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-11-30 15:56:37 +00:00
Axel Dörfler
beef46972c * Removed obsolete disk_scanner test app.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34380 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-11-30 15:42:21 +00:00
Axel Dörfler
805b96da98 * Wrote test application for partitioning systems. Not yet 100% complete, as it
only allows top level partitions right now - support for child partitions
  would require replacing read/write/seek/etc.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34379 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-11-30 15:36:58 +00:00
Axel Dörfler
ad7bfb2e88 * Adjusted default userland module paths to today's build paths.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34378 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-11-30 15:33:22 +00:00
Axel Dörfler
bdcd7fcadc * Remove kernel/disk_device_manager from Jamfiles (the add-ons now need to
specify the path).
* Minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34377 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-11-30 15:32:38 +00:00
Ingo Weinhold
1cbfe2ef6e Moved the static stuff into a singleton.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34376 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-11-30 14:43:35 +00:00
Colin Günther
d0805bf47e * Basically reimplemented the conditional variable support, so that it is now
easier to a) cleanup on driver unloading and b) to implement the msleep
  and wakeup functions. This is facilitated by keeping track of used
  conditional variables in a hash table. Also this table can be used to get
  the conditional variable belonging to a hash, which isn't supported by
  Haiku's conditional variable support at the moment.
  All network drivers are compiling and linking but it needs to be tested,
  whether executing rises any issues.
* Minor coding style cleanup in condvar.h regarding intersection spacing.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34375 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-11-30 13:17:04 +00:00
Ingo Weinhold
0eb45760a7 Turned FontList into a singleton.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34374 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-11-30 12:48:35 +00:00
Ingo Weinhold
17f68169f2 Turned the screens list into a singleton.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34373 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-11-30 12:47:59 +00:00
Axel Dörfler
4c3744b8d7 * Added missing license.
* Cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34372 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-11-30 12:37:16 +00:00
Ingo Weinhold
4b9cf09f14 * Got rid of is_running_on_haiku(). It was used for the test environment,
but wouldn't work when running it on Haiku anyway. At any rate, it was
  relatively expensive (uname()) and used already in the libbe
  initialization.
* Got rid of the non-Haiku support of main_thread_for().


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34371 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-11-30 12:14:02 +00:00
Ingo Weinhold
879f9a0937 Got rid of the static app resources lock. We use pthread_once() now.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34370 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-11-30 11:54:30 +00:00
Colin Günther
048efdbc0a Including atheros wlan driver and atheros813x ethernet driver into the build
images. The atheros wlan driver isn't included in the NetBootArchive, because
you can't tell the driver, which wlan it should connect to.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34369 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-11-30 11:42:19 +00:00
Ingo Weinhold
4a6fb0a865 Turned the loaded images map into a singleton.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34368 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-11-30 11:40:20 +00:00
Ingo Weinhold
adcb834590 * The WidthBuffer lock was unnecessarily static. Made it an object member.
* Automatic whitespace cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34367 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-11-30 11:25:13 +00:00
Ingo Weinhold
4ac097c559 Made the BToolTipManager lock non-static. Create the singleton via
pthread_once().


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34366 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-11-30 11:06:51 +00:00
Stefano Ceccherini
bc78ca9385 Removed unused input method variables. Input method handling will
be implemented someday, but probably differently anyway.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34365 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-11-30 10:48:36 +00:00
Ingo Weinhold
258b34c594 * Fixed wrong parameter of lazy_mutex_destroy().
* Split locks.cpp into mutex.cpp, recursive_lock.cpp, and rw_lock.cpp (new
  subdirectory locks/).
* runtime_loader no longer includes the rw_lock, allowing removal of the TLS
  dependency again.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34364 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-11-30 10:29:51 +00:00
Axel Dörfler
c598298047 * Cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34363 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-11-30 08:31:31 +00:00
Axel Dörfler
a4faebeb11 * Replace the FD used for fopendir() instead of closing the old one - according
to the specs, the application may still use the FD without changing its state,
  and only closedir() should finally close it.
* This fixes bug #5055.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34362 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-11-30 08:29:12 +00:00
Axel Dörfler
ac628ead05 * Moved the B_NOT_MINIMIZABLE flag check into ServerWindow::NotifyMinimize()
as this fixes some more incorrect minimizations on the app_server side.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34361 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-11-30 08:06:50 +00:00
Jérôme Duval
f6379d4127 added tls.o to runtimeloader. It linked successfully on x86 because of inlining.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34360 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-11-29 21:58:35 +00:00
Philippe Houdoin
0bb3289c7b Removed lost comment.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34359 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-11-29 21:47:37 +00:00
Philippe Houdoin
50a1d8a4f5 Stupid me, vector icon data loaded by a local BResources
object is lost outside its scope. 
Now vector data is copied instead.

Spotted by Pete Goodeve, thanks!
This should close #4562.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34358 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-11-29 21:39:49 +00:00
Philippe Houdoin
fb40f7a489 Applied changes by Pete Goodeve to add PatchBay endpoint's vector icon support.
Display size is still kept to 32x32.

M    patchbay/Jamfile
M    patchbay/EndpointInfo.cpp


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34357 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-11-29 21:38:47 +00:00
Jérôme Duval
494aa1ee39 fixed warnings
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34356 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-11-29 21:33:55 +00:00
Jérôme Duval
4aafe92a0e * cleanup
* use gpio count for gpio quirks


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34355 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-11-29 21:16:41 +00:00
David McPaul
51b0c01316 Added ODML Index support, still needs work though too much duplicated code. Feedback welcome
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34354 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-11-29 21:07:35 +00:00
Jérôme Duval
3acb81a693 added another MacBook quirk
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34353 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-11-29 20:51:12 +00:00
Jérôme Duval
144c4c6240 * added vref and unsol responses definitions
* untested unsolicited response support
 * added quirk support for vref and gpio
 * vref are now enabled for all inputs, and gpio for some Apple Macs
 * replaced dprintf with TRACE and ERROR macros


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34352 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-11-29 20:32:19 +00:00
Philippe Saint-Pierre
001731449e Don't minimize windows (when hiding applications) if they have
the B_NOT_MINIMIZABLE flag. It should more properly fix #4337.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34351 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-11-29 19:55:02 +00:00
Philippe Saint-Pierre
5f341c3847 Reverting r34335. Wrong location of my "B_NOT_MINIZABLE" check.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34350 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-11-29 19:02:47 +00:00
Colin Günther
53b11310d4 Needed header to allow compilation of the wlan stack.
Bosii is a transcription of 802.11. It is a work-in-progress title to
point out parts of the wlan stack which are still in an experimental state.
For example the control codes within bosii_driver.h are moving targets.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34349 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-11-29 18:09:33 +00:00
Colin Günther
c322cc3d7c * Adding driver for Atheros AR8131/AR8132 Gigabit/Fast Ethernet network cards.
The source is based on the FreeBSD RELEASE_8_0_0 code, found in Haiku's
  freebsd vendor branch.
  This driver enables the network card in my EeePC 1005HA-M, for example.
  To compile it issue "jam atheros813x".
* Introducing the new build target.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34348 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-11-29 13:35:30 +00:00
Colin Günther
e6a7fa65fe Bringing the source up to par with FreeBSD RELEASE_8_0_0. This one slipped
somehow through the updating process.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34347 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-11-29 12:40:32 +00:00
Axel Dörfler
9b606d42db * TabFrame() did not check if the index was valid. This should fix #5051.
* Cleanup, removed commented code.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34346 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-11-29 12:06:13 +00:00
Colin Günther
783c4cd1fa * Importing r401 of all compiling drivers from osdrawer.net/haiku-wifi.
The driver sources are based upon the FreeBSD RELEASE_8_0_0 source as found in
  Haiku's freebsd vendor branch.
* Currently only the atheros driver is working and can be compiled with
  jam atheros.
* Every driver contains a Jamfile already, so that the compilation process
  can be started with jam <driver_name>. Also note, that linking of every
  driver besides atheros and iprowifi2200 will fail at the moment.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34345 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-11-29 11:41:48 +00:00
Colin Günther
aac7021064 * Adding directory, where all wlan drivers will be put in.
* Tell jam to recurse into the new directory.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34344 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-11-29 11:30:43 +00:00
Colin Günther
a315b76dc8 * Importing r401 of ported wlan stack from osdrawer.net/haiku-wifi.
This port is based on FreeBSD RELEASE_8_0_0 (r199625) found in Haiku's
  freebsd vendor branch.
* Added freebsd_wlan directory to the Jamfile in HAIKU_TOP/src/libs/compat/
  so that the stack can be built with jam libfreebsd_wlan.a.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34343 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-11-29 11:22:01 +00:00
Ingo Weinhold
ea77094b24 Replaced the hown-grown recursive lock implementation by a shared lazy
recursive lock. I haven't investigated it closer, but the previous
implementation was even broken -- "strace /bin/true" showed two
release_sem() calls, but no acquire_sem().


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34342 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-11-29 11:17:53 +00:00
Ingo Weinhold
8bef23107e Added a lazy_recursive_lock implementation -- identical to recursive_lock,
just using a lazy_mutex instead.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34341 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-11-29 11:14:50 +00:00
Ingo Weinhold
6e06922908 Replace semaphores/benaphores in the env, fork, and user/group code by lazy
mutexes.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34340 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-11-29 10:47:01 +00:00
Ingo Weinhold
937b23cb21 Added locking primitive lazy_mutex, which has essentially the same behaviour
as a mutex, but allocates its semaphore lazily. This comes at the cost of an
additional atomic_add() when the semaphore has actually to be acquired, but
saves the semaphore creation completely in single-threaded programs and in
any program when there's no lock contention.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34339 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-11-29 10:44:07 +00:00
Ingo Weinhold
f2bb2575e6 Use the shared recursive lock implementation instead of the home-grown stuff.
The shared implementation is benaphore style, saving unnecessary syscalls.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34338 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-11-29 09:57:26 +00:00
Ingo Weinhold
93b9f21335 Added recursive lock implementation (an adapted kernel version).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34337 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-11-29 09:54:58 +00:00
Ingo Weinhold
d78ffde5d1 * Some minor cleanup and improved comments.
* Fixed check in hoardSbrk(): resize_area() was invoked, even if the area was
  already large enough.
* Increased the initial heap size to 64 pages. Apparently the hoard
  implementation is rather generous and the first malloc() (caused by
  __init_heap()) already required enlarging the area.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34336 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-11-29 09:20:58 +00:00
Philippe Saint-Pierre
2c9bea98b9 Make BWindow honor the B_NOT_MINIMIZABLE flag. Fixes ticket #4337.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34335 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-11-29 02:15:54 +00:00
François Revol
bea66afaeb The vmware vga implementation doesn't work with Haiku yet anyway (different bpp than the driver wants). The std one doesn't work anymore due to a regression... just remove the option and leave it fallback to cirrus for now, works but ends up in 16bpp by default.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34334 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-11-28 21:44:29 +00:00