Commit Graph

20093 Commits

Author SHA1 Message Date
Axel Dörfler
0db772c937 * When deleting a socket, we also need to delete all of its children.
* This fixes a KDL I often seen when launching firefox.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24046 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-21 15:00:19 +00:00
Axel Dörfler
0dd3108ca0 * Added SIGNAL_FLAG_DONT_RESTART_SYSCALL for send_signal_etc() which
utilizes the THREAD_FLAG_DONT_RESTART_SYSCALL (but only in SIGCONT
  for now).
* resume_thread() is now using that flag to be compatible with BeOS.
* This fixes the Terminal hanging on close.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24045 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-21 13:19:54 +00:00
Stefano Ceccherini
47d3c50607 Change the order we use to check the position of the mouse pointer
inside menus: first sub, then current, then super. It's more logical, 
and handles every case (hopefully I've tested every possible 
combination) of overlapping menus correctly.
Fixes bug #1821.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24044 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-21 10:10:17 +00:00
Ingo Weinhold
5ed8d60d1a Added small setpgid() test.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24043 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-21 01:01:02 +00:00
Ingo Weinhold
2efb87b92f Added TODO: Process groups should live on until the process is reaped.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24042 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-21 01:00:14 +00:00
Ingo Weinhold
562e2f204a * Removed unused team::pending_signals.
* Added team::flags. Currently only used for setting a flag when a team
  has exec()ed.
* Some improvements of _user_setpgid():
  - It failed incorrectly when the target process was a process group
    leader. According to the standard it shall fail when the process is
    a session leader. Moving a process group leader to another process
    group is fine, even if that leaves the group leaderless.
  - Fixed race conditions. We need to recheck the error conditions when
    we hold the team spinlock. Otherwise the situation could change
    while we allocated the new process group. This was one of the
    reasons for bug #1799 -- after the shell fork()'s both parent and
    child invoke setpgid() for the child.
  - Fixed behavior for pid == pgid. It doesn't necessarily mean that a
    new group has to be created.
  - Fixed update of target process group orphaned state.
  - Squashed TODO: setpgid() on a child is supposed to fail after the
    child has exec()ed.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24041 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-21 00:46:22 +00:00
Ingo Weinhold
b097a59b43 * setpgid() is not supposed to return the group ID. It shall return 0 on
success.
* setpgrp() is not supposed to fail (could happen, if the calling
  process was a session leader).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24040 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-21 00:18:35 +00:00
Oliver Ruiz Dorantes
32d855f756 Add handling to retrieve the id assigned by the stack
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24037 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-20 21:05:59 +00:00
Axel Dörfler
db55a020e6 * Started implementing node monitoring in the devfs and device manager.
* Right now, only already known loaded drivers will be monitored for changes;
  their devices aren't republished, though, since that would cause a deadlock
  in the node notification mechanism (listeners are called synchronously);
  need to offload that the event handling to another thread.
* On changes of (known) driver directories, the device manager will now print
  some info to the syslog.
* Fixed republish_driver() I broke recently (would skip every other node), and
  moved it to the driver functions section of the devfs.cpp.
* Implemented currently unused unpublish_driver() function that would have to
  be called before reloading a driver.
* If a driver is in use when it's updated, we mark it, but we don't do anything
  with that info when we could.
* Minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24036 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-20 16:55:05 +00:00
Axel Dörfler
9448bb6e0b Added add_node_listener() and remove_node_listener() kernel private functions
to watch a node.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24035 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-20 16:48:16 +00:00
Stephan Aßmus
59312709ae * Maintain the previously selected partition when rescanning drives (ie also
when mounting/unmounting a partition).
* Set the enabled state of the Unmount menu item when a partition is not
  mounted (was using previous state from last partition).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24034 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-20 14:23:13 +00:00
Stephan Aßmus
da5d970124 * Small code cleanups, a bigger style cleanup should be done, but I didn't
want to mix too much cleanups into real changes.
* Got rid of the weird lines between rows.
* Tweaked colors (selections are usually dark everywhere else in Haiku).
* Implemented slightly tinting alternating rows.
* Removed the code duplication to figure out the appropriate background
  row color, fixed some inconsistencies between Draw() and RedrawColumn()
  in this regard.

TODO: Default colors should be computed based on current panel color though.

TODO: Figure out why the outline view does not scroll (at least not visibly)
when the vertical scroll bar is used.

TODO: Remove remaining redraw bugs. I observe a column of pixels not being
updated in some cases when resizing columns.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24033 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-20 12:27:36 +00:00
Stefano Ceccherini
1d9a705ed4 Disable the apply button when settings have been...er.. applied. Do some
enabling/disabling of the revert button too.
Initialize Settings::fAuto to a default value on construction.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24032 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-20 10:37:11 +00:00
Stephan Aßmus
bbf31e4d1f * If bitmaps are drawn with alpha channel, it helps to setup the correct
alpha mode. Thanks to Ralf Schuelke for pointing this out.
* Also check the bitmap color space and only use alpha drawing for bitmaps
  with valid alpha channel.
* Don't just reset the parent to B_OP_OVER, but use the previous mode.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24031 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-20 09:56:26 +00:00
Stephan Aßmus
d755e1c073 Implemented Enable/DisableUpdates again on the app_server side. Untested. It
should prevent the app_server to send any update messages to the client. It
should just keep adding to the pending update sessions region until the client
enabled updates again. If anything is already in the pending session, an
update request will be send immediately.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24029 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-20 00:56:45 +00:00
Michael Lotz
b582e0a75e I really thought that such a small change wouldn't break the build...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24028 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-20 00:52:05 +00:00
Stephan Aßmus
c3b57150e2 I was just going to implement Begin/EndViewTransaction(), but I saw
it is already implemented they way I thought it could be done - nice! Just
some simplifications.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24027 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-20 00:42:09 +00:00
Stephan Aßmus
f6a3e5637b * Looking at the diff I remember it contains a patch Andrea Anzani send me,
fixes indicating the focus of the resized column if it isn't the first one.
* Code cleanups by myself in the archiving implementation. No functional change.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24026 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-20 00:40:53 +00:00
Michael Lotz
94fec641a7 Implemented a small kernel debugger add-on that triggers a redraw of the
entire screen when exiting the kernel debugger. It sets up a thread that sends
a message to the (currently hardcoded) desktop message looper. The desktop then
does mark the whole screen dirty which causes a full redraw.
Since interrupts need to be enabled I went with an asynchronous thread and
releasing a request sem in the add-ons' exit hook.
Added the add-on to the image as it shouldn't hurt to have it for now.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24025 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-20 00:40:07 +00:00
Stephan Aßmus
99238ef54f Disable excessive debug output.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24024 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-20 00:37:40 +00:00
Jonas Sundström
1ddb0c6635 Added error checking of the return value of get_sem_info().
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24023 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-19 23:59:07 +00:00
Jonas Sundström
782c2e9035 Some rephrasing of help message.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24022 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-19 22:13:47 +00:00
Jonas Sundström
75998ed610 Added an Accounts menu item which opens the E-mail preferences.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24021 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-19 22:08:54 +00:00
Axel Dörfler
849246ba77 Improved (and tested) the advisory file locking mechanism a bit:
* our flock::l_len was inclusive, while it's exclusive (the last byte locked
  is (l_start - 1 + l_len) not just (l_start + l_len).
* F_UNLCK removes all locks of the calling process that are within the specified
  region - existing locks might also cut or divided.
* Apparently, a single team can lock the same region as often as it wants.
* advisory_locking is now using a DoublyLinkedList instead of its C counterpart.
* advisory_lock now has start + end fields, instead of offset + len, it's
  handier this way.
* This fixes bug #1791.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24020 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-19 19:16:36 +00:00
Stephan Aßmus
33def0ba07 * Small cleanups, renamed "md" (for "mouse device") to "device" among other
stuff.
* It's a while since I wrote this code, and I don't remember why I don't
  always "set the configuration". Appearantly on BeOS and ZETA, the
  active configuration was not yet set on the device when the driver examined
  it, but on Haiku it is. The special control command which puts a tablet
  into tablet mode is then not executed. I simply commented out this check
  (always set the configuration) and now my Wacom Intuos 2 is working fine
  in Haiku.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24019 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-19 16:06:32 +00:00
Stephan Aßmus
d4122828d4 * Reworked debugging feature, it's now much more simple to use, copied
from the input_server implementation to create a log file.
* DeviceReader already provided the data byte count, since this is a USB
  only Wacom driver, we can simply use the max_packet_size from the endpoint
  descriptor. Changed TabledDevice accordingly to use the already existing
  DeviceReader::MaxPacketSize().
* Reworked DeviceReader::ReadData(). Renamed variables for clarity and
  removed the restriction to read exactly the requested ammount of bytes,
  reading more than the "header" (which contains vendor id, product id
  and max packet size) is already considered a successful read.
* Refactored TabledDevice::poll_usb_device().


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24018 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-19 16:03:15 +00:00
Axel Dörfler
b4c82732fb Added test program for our advisory locking implementation - looks like
it has several issues, and a F_UNLCK semantic different from other OSs,
causing bug #1791.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24017 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-19 16:00:11 +00:00
Axel Dörfler
350e0b20a5 * Simplified devfs_rescan_driver() since the driver hash is now based on the
name of the drivers.
* Allow driver::publish_devices() to return NULL to hint that it has no devices
  to publish anymore (ie. existing devices will be unpublished in this case).
* republish_driver() now also calls load_driver() in case the driver is not
  loaded.
* publish_device() and unpublish_node() now maintain the new
  driver_entry::devices_published field, so we always know how many devices
  a driver has now.
* Minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24016 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-19 14:59:30 +00:00
Alexandre Deckner
644c84564a - fixes the Keymap preflet instead, as suggested by korli.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24015 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-19 12:43:52 +00:00
Stephan Aßmus
ddb44fda2c Fixed the log file output when DEBUG=2. PRINT() is called from global
initializers before sLogFile was created in the InputServer constructor.
Even moving the log file creation to a global initializer didn't help,
since the order is not guaranteed. So I changed the code to create the
log file on the fly in the PRINT method.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24014 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-19 11:32:41 +00:00
Michael Lotz
b024c395d7 Fix bad error in calculating the leak check info address when updating the
size of a reallocated block. If you had kernel heap leak checking on, this
could have caused the first four bytes of the next block to be overwritten
with the size of the reallocation of the previous block.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24011 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-19 00:42:54 +00:00
Michael Lotz
d4d25a55bd We should lock around register_elf_image() as we modify the image hash in there.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24010 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-18 22:54:12 +00:00
Ingo Weinhold
306fe53248 We forgot to unpublish our temporary condition variable. Since it was
allocated on the stack, condition variable related structures would be
trashed, causing all kinds of problems. Fixes #1811 and #1812.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24009 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-18 21:51:34 +00:00
Alexandre Deckner
3831b0dcd0 - Revert button's first update didn't work since revert data is stored in the Show() method.
- Default data is defined in two places, and was inconsistent.
- Color comparisons could be done with the wrong alpha. note: BColorControl's behavior wrt alpha might differ from R5's.   

This fixes part of #254


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24008 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-18 18:08:48 +00:00
Axel Dörfler
02b3446666 * Wrote a multi audio test application to debug the HD-Audio driver.
* Right now, it even plays something, but it doesn't sound like it should
  (more like noise).
* Also, the hda driver only works once, unlike the auich driver.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24007 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-18 18:04:30 +00:00
Stefano Ceccherini
1134e85609 fixed a few problems in BMenuBar, triggered by the particular use the
Menu preflet makes of it.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24006 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-18 14:30:49 +00:00
Stefano Ceccherini
ec20f9f60d reverted r21961. A menu could be closed, if the user
clicked (with the menu opened) on a view which uses GetMouse() in a loop 
(PE, tracker), since it stealed the mousedown message.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24005 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-18 13:24:13 +00:00
Stefano Ceccherini
50cd4d0280 Patch by Denis Washington: menubars now, like menus, can be navigated
without keeping the mouse button pressed.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24004 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-18 13:21:02 +00:00
Stefano Ceccherini
44cd9847e9 pass -1 as first parameter of StartMenuBar(), otherwise it will hide the
cursor (used for keyboard navigation). Fixes bug #1807


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24003 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-18 13:04:52 +00:00
Axel Dörfler
4db9f96954 Added "FTP" facility string.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24002 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-18 12:42:34 +00:00
Axel Dörfler
72c9a68780 * Added keyword "full" that will try to send about 1 MB at once.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24001 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-18 12:33:06 +00:00
Axel Dörfler
447c081fe4 * sigsuspend() must only block blockable signals.
* Minor comment cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24000 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-18 12:31:17 +00:00
Axel Dörfler
ed7d0f52bf Added a bit more debug output.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23999 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-18 12:28:31 +00:00
Stefano Ceccherini
e70bc53485 Renamed libtiff to tiff
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23998 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-18 09:04:48 +00:00
Stefano Ceccherini
96f0c48768 removed duplicated and obsolete tiff translator
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23997 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-18 09:01:20 +00:00
Stefano Ceccherini
dc0d6e4c0d Set the LowColor as ViewColor, so text looks better. Fix a few menufield
position/size issues. Use B_PANEL_BACKGROUND_COLOR instead of the raw 
numbers. Fixes bug #1800.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23996 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-18 08:57:35 +00:00
Stefano Ceccherini
2e0ba90d3f We can't use the be_app looper, since it can be already locked from
another thread (for example, when quitting the app/window), and that 
would cause a deadlock. Fixes bug #1645.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23995 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-18 08:15:29 +00:00
Michael Lotz
cf46897b4c Use a dedicated heap to allocate everything that is needed during heap growth.
This eliminates the edge case where the grow thread would not be able to create
a new area because no memory could be allocated for the allocation of the area.
As this case cannot happen anymore, it is also not possible to deadlock in
memalign. Therefore the timeout (which would only have prevented the deadlock
but wouldn't have solved the edge case anyway) has been removed too.
Add options to dump the dedicated grow heap and to only print the current heap
count to the "heap" debugger command.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23994 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-18 01:04:19 +00:00
Marcus Overhagen
08c01f715f gcc4 build fix
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23992 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-17 19:18:31 +00:00
Marcus Overhagen
b91371e409 gcc4 build fix
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23991 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-17 19:14:50 +00:00
Ingo Weinhold
5d06d46935 Removed debugging leftover.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23990 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-17 18:07:25 +00:00
François Revol
32d33c44e5 Fix build on BeOS host, seems it was trying to instanciate a struct stat instead...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23988 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-17 17:53:54 +00:00
Axel Dörfler
5e42a6bdd7 bonefish+axeld:
* the net_server leaked file descriptors for every opened session.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23987 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-17 16:40:03 +00:00
Axel Dörfler
12a5e9a4a2 bonefish+axeld:
The runtime loader did not correctly resolve %A correctly with the
actual normalized program path. IOW it would not work correctly with
symlinks to applications that had their own lib directory.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23986 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-17 16:38:07 +00:00
Ingo Weinhold
8b3b2b4ff1 Test program for syscall restarts. Only a few syscalls are tested yet.
Nested syscall restarts (interrupted syscall in a signal handler)
aren't tested yet.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23985 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-17 16:27:17 +00:00
Ingo Weinhold
058494285a axeld + bonefish:
* Added syscall restart support for connect(), accept(), send(), recv(),
  which are implemented via ioctl()s. The actual restart support is done
  in the net stack driver's ioctl() hook. Lower layers need to correctly
  deal with socket timeouts, though, for which the stack module provides
  support functions.
* TCPEndpoint::_WaitForEstablished() does abort now when an error
  occurred earlier, so that trying to connect to an unused port fails
  immediately, as it should.
* Fixed and refactored TCP connection reset handling. The new
  TCPEndpoint::_HandleReset() does the job. Got rid of
  TCPEndpoint::fError.
* Fixed sequence numbers for SYNC/FINI packets.
* The former two fix the problem that connections wouldn't be closed
  correctly and could even be reused when trying to connect again (as
  was reproducible with svnserve + svn).
* Some style cleanup in CPEndpoint.h.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23984 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-17 16:25:07 +00:00
Ingo Weinhold
4048494ce4 axeld + bonefish:
* Implemented automatic syscall restarts:
  - A syscall can indicate that it has been interrupted and can be
    restarted by setting a respective bit in thread::flags. It can
    store parameters it wants to be preserved for the restart in
    thread::syscall_restart::parameters. Another thread::flags bit
    indicates whether it has been restarted.
  - handle_signals() clears the restart flag, if the handled signal
    has a handler function installed and SA_RESTART is not set. Another
    thread flag (THREAD_FLAGS_DONT_RESTART_SYSCALL) can prevent syscalls
    from being restarted, even if they could be (not used yet, but we
    might want to use it in resume_thread(), so that we stay
    behaviorally compatible with BeOS).
  - The architecture specific syscall handler restarts the syscall, if
    the restart flag is set. Implemented for x86 only.
  - Added some support functions in the private <syscall_restart.h> to
    simplify the syscall restart code in the syscalls.
  - Adjusted all syscalls that can potentially be restarted accordingly.
  - _user_ioctl() sets new thread flag THREAD_FLAGS_IOCTL_SYSCALL while
    calling the underlying FS's/driver's hook, so that syscall restarts
    can also be supported there.
* thread_at_kernel_exit() invokes handle_signals() in a loop now, as
  long as the latter indicates that the thread shall be suspended, so
  that after waking up signals received in the meantime will be handled
  before the thread returns to userland. Adjusted handle_signals()
  accordingly -- when encountering a suspending signal we don't check
  for further signals.
* Fixed sigsuspend(): Suspending the thread and rescheduling doesn't
  result in the correct behavior. Instead we employ a temporary
  condition variable and interruptably wait on it. The POSIX test
  suite test passes, now.
* Made the switch_sem[_etc]() behavior on interruption consistent.
  Depending on when the signal arrived (before the call or when already
  waiting) the first semaphore would or wouldn't be released. Now we
  consistently release it.
* Refactored _user_{read,write}[v]() syscalls. Use a common function for
  either pair. The iovec version doesn't fail anymore, if anything could
  be read/written at all. It also checks whether a complete vector
  could be read/written, so that we won't skip data, if the underlying
  FS/driver couldn't read/write more ATM.
* Some refactoring in the x86 syscall handler: The int 99 and sysenter
  handlers use a common subroutine to avoid code duplication.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23983 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-17 15:48:30 +00:00
Marcus Overhagen
4af8877673 build fix for r23929
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23982 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-17 14:59:52 +00:00
Marcus Overhagen
6af5db20f4 Reuse virtual bus numbers when a mapping already exists.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23981 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-17 14:44:33 +00:00
Ingo Weinhold
fe19cba8f0 axeld + bonefish:
Before starting to wait on a condition variable check for pending
signals first, if the call is interruptable.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23980 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-17 14:38:23 +00:00
Ingo Weinhold
7d2d758d46 axeld + bonefish:
Make ktrace_printf() available in the kernel, too.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23979 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-17 14:36:47 +00:00
Ingo Weinhold
d63cbbe2df Added "error" debugger command to print the error string for a given
numeric error code.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23978 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-17 14:36:03 +00:00
Jonas Sundström
b19e377dab 0L constant typo? Remove menu item before deleting it.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23977 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-17 14:36:01 +00:00
Ingo Weinhold
25f0ac90a9 axeld + bonefish:
The return value of Inode::WaitForRequest() is status_t not bool. So the
method would always fail when it actually succeeded. This affected reads
from pipes which didn't have data. The bug was hidded since VFS code
mostly checks error codes only against < B_OK, so that such a read would
be treated as 0 byte read.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23976 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-17 14:34:34 +00:00
Ingo Weinhold
392ad2822d axeld + bonefish:
BeOS R5's glue code incorrectly calls _thread_do_exit_notification()
when main() returns, while Haiku does that in exit(). Therefore when
terminating this way the exit hooks were called twice for executables
built under BeOS R5. This caused e.g. NetPositive or the R5 svn to
crash on exit (our network code actually uses those hooks).
Fixes bug #1742.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23975 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-17 14:12:02 +00:00
Ingo Weinhold
2dd86b93a6 axeld + bonefish:
Adjusted PATH, LIBRARY_PATH, and the paths built into the runtime loader
to included the /boot/common tree.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23974 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-17 13:59:29 +00:00
Ingo Weinhold
01335789e4 axeld + bonefish:
Removed the "config" subdirectory in the /boot/common directory
structure.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23973 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-17 13:57:36 +00:00
Ingo Weinhold
a17d1cf43e axeld + bonefish:
Added parameter --start-offset to allow writing the boot code not only
at the beginning of the given file.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23971 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-17 13:45:47 +00:00
Ingo Weinhold
3e61704042 axeld + bonefish:
Added parameters --start-offset and --end-offset to restrict the
access of the file system to only that part of the given file.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23970 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-17 13:42:27 +00:00
Ingo Weinhold
9ae93dcd7f _user_normalize_path() was broken for symlinks in absolute paths.
Fixes #1778.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23969 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-17 13:32:08 +00:00
Ryan Leavengood
5cea25bfaf Adding patch from Juan Sebastian Muñoz Arango to fix bug #1571:
This creates a new tab Info to contain the information for the media
mixer instead of placing it next to the setup controls.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23967 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-17 01:08:28 +00:00
Jérôme Duval
75b402646b added copyright for OpenEXR
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23966 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-16 19:23:17 +00:00
Jérôme Duval
2c5ab413c2 updated marvell_yukon to 1.26 for the source file and 1.11 for the header
should help with bug #1787


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23965 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-16 18:46:40 +00:00
Jérôme Duval
e47368c84e publish_devices() can return NULL, ie for Wacom devices which are not handled by usb_hid
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23964 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-16 15:54:51 +00:00
Jérôme Duval
c9794bddd7 added a PCX translator with some supported formats
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23963 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-16 13:02:03 +00:00
François Revol
d5e76d2b5b Fix Haiku build, sorry ;)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23962 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-15 02:38:39 +00:00
Michael Lotz
aabef40563 * Add a "stats" argument to the kernel heap leak checker to only print the
total count of allocations and bytes.
* Also add a few more bin sizes (for 8, 24 and 48 bytes) turns out especially
  allocations of 20-24 bytes are pretty common. And as it only wastes a few
  bytes per page this doesn't hurt at all.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23961 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-14 23:16:50 +00:00
Michael Lotz
4f045f9cba Turns out the only thing we didn't do in bfs_free_cookie was - actually
free the cookie. One memory leak less...

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23960 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-14 22:55:02 +00:00
François Revol
608aae69a1 * make sure an url mime type is registered before using it.
* lines and cols are 1-based.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23959 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-14 22:53:34 +00:00
Oliver Ruiz Dorantes
f72093d929 Make the driver almost build for target R5. How is the best way in the Jamfile to compile it together with src/system/kernel/util/list.c only for target R5?
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23957 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-13 20:07:51 +00:00
Michael Lotz
cf2687e48f Only clear 0xdeadbeef if there is 0xdeadbeef present. The size field of the
heap leak check info would otherwise be overwritten for allocations that still
fit the 16 byte bin (i.e. allocations of 0-4 bytes).

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23956 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-12 22:25:18 +00:00
Oliver Ruiz Dorantes
e6b529a362 Build the device path in devfs from the configuration file
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23955 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-12 21:08:43 +00:00
Oliver Ruiz Dorantes
485b82bace Thanks pointing this out Axel, my commits mails were arriving to a dead mail and I did not read until now. My apologiesfor delay
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23954 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-12 20:56:29 +00:00
Michael Lotz
4af6cd5f38 Adding two debug features to the new heap implementation:
* Tracing of allocations, reallocations and frees
* Leak checking infrastructure to dump allocations

The leak checking code records the team and thread id when an allocation is
made as well as stores the originally requested size. It also adds the
"allocations" debugger command that can dump all current allocations (usually
a huge list) or filter by either a team or thread id. This way it's easily
possible to find leftover allocations of no more active teams/threads.
Combined with the tracing support one might be able to track down the time and
reason of an allocation and possibly find the corresponding leak if it is one.
Note that kernel heap leak checking has to be enabled manually by setting the
KERNEL_HEAP_LEAK_CHECK define to 1.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23953 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-12 20:20:35 +00:00
Michael Lotz
d9b0e6addd Two very small changes that help compiling Haiku under Haiku.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23947 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-12 00:54:04 +00:00
Ithamar R. Adema
f2f3c67292 Use new transport callbacks from printer preference.... transport addons now choose what to publish in the printers pref add printer dialog...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23946 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-11 23:48:05 +00:00
François Revol
d9dea4ae01 Fix build after mmlr's heap change. Thanks René!
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23945 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-11 23:09:56 +00:00
Marcus Overhagen
bc3318b640 Rewrote mapping of domains and busses into a virtual bus number to
allow arbitrary bus numbers. Disabled domain support for __INTEL__.
This should fix bug #1774


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23944 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-10 23:39:35 +00:00
François Revol
3ecd55ed65 Handle command line args. It still opens an empty window though.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23943 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-10 22:29:42 +00:00
Michael Lotz
75fe8391f9 Fix the build. Apparently this file wasn't recompiled on my end before.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23942 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-10 21:53:53 +00:00
François Revol
6eafd65d00 Fix freeing uninitialized pointer.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23941 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-10 21:52:05 +00:00
Jérôme Duval
6c1399c4b0 fixed looping mode, and bug #1730
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23940 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-10 21:03:34 +00:00
Michael Lotz
5c4d1c5e21 Complete rework of the heap implementation. Freelists are now part of the pages
and pages are now kept in lists as well. This allows to return free pages once
a bin does not need them anymore. Partially filled pages are kept in a sorted
linked list so that allocation will always happen on the fullest page - this
favours having full pages and makes it more likely lightly used pages will get
completely empty so they can be returned. Generally this now goes more in the
direction of a slab allocator.
The allocation logic has been extracted, so a heap is now simply attachable to
a region of memory. This allows for multiple heaps and for dynamic growing. In
case the allocator runs out of free pages, an asynchronous growing thread is
notified to create a new area and attach a new heap to it.
By default the kernel heap is now set to 16MB and grows by 8MB each time all
heaps run full.
This should solve quite a few issues, like certain bins just claiming all pages
so that even if there is free space nothing can be allocated. Also it obviously
does aways with filling the heap page by page until it overgrows.
I think this is now a well performing and scalable allocator we can live with
for quite some time. It is well tested under emulation and real hardware and
performs as expected. If problems come up there is an extensive sanity checker
that can be enabled by PARANOID_VALIDATION that covers most aspects of the
allocator. For normal operation this is not necessary though and is therefore
disabled by default.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23939 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-10 21:00:13 +00:00
Jérôme Duval
a0c4a29faf added B_RGBA15 colorspace, and explicitly print which colorspce is unsupported
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23938 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-09 18:08:34 +00:00
Jérôme Duval
cad9eceb7a added missing api_version
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23937 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-09 17:55:11 +00:00
Jérôme Duval
cbc337d925 have libilmimf built with libstdc++v2
added EXRTranslator to the image


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23936 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-09 17:48:10 +00:00
Jonas Sundström
cd6b83ddc1 The title of the (primary) window of (non-document) apps and preferences should be the filename of the executable. File and window names should be changed in tandem in the future. All IMO. Sorry, Marcus, for changing TV-O-Rama. :/ We may want to consider using more proper language, e.g. 'Screensaver' or 'Screen Saver' instead of 'ScreenSaver'. DeskCalc or 'Desk Calculator' should be just Calculator. We should avoid clinging to BeOS history, like with the name CodyCam, which hardly makes any sense anymore, even if you happen to be one of the few BeOS oldtimers.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23935 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-09 13:26:28 +00:00
Stefano Ceccherini
2614ac772b Moved call to SetSteps() from SetTermSize() to FrameResized(), where it
makes more sense (and also completes the fix for bug #1759). Retrieve 
the command from the message archive.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23931 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-08 12:16:49 +00:00
Ingo Weinhold
6918dbf421 Normalize the given image path in load_container(). Just constructing
some absolute path was not enough to always recognize a library as
already loaded. This fixes problems with Perl where loading an add-on
would cause another instance of libperl.so to be loaded, which would
lead to crashes due to uninitialized static vars in the new instance.
Perl builds now and the tests run, but quite a few do fail.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23930 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-08 03:18:26 +00:00
Ingo Weinhold
2c986936df Added new syscall _kern_normalize_path() to normalize a path.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23929 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-08 03:06:14 +00:00
Ithamar R. Adema
eb5a25ca41 Slight rework of my previous commit... now ports can be asked too ;)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23928 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-08 02:00:08 +00:00
Ithamar R. Adema
62cb58a8ef Make print_server track Transport addons too. This is because some of the NewTransportAddOns(tm) can also autodetect devices, e.g. USB printers. For this, the print_server needs to keep those transport addons loaded at all times. This code now also enables dynamic Transport discovery for the Printer prefs, e.g. 'hey print_server GET Transport 0' or 'hey print_server GET Transport 'USB Port'' will now work too ;)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23927 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-08 00:34:53 +00:00
Michael Lotz
cfc9593fa8 Fix possible though unlikely SMP issue reported by Robert Szeleney. One must
not use a single static variable to synchronize CPUs at two points. In an
environment where CPUs do not really run concurently (in emulation or with
logical processors) it would be possible for CPUs to get trapped in the first
synchronization while another CPU might just do its thing and change the
sync variable again. These CPUs would then never leave the first loop as the
exit condition has already passed again. The key is to use two different sync
variables like it is done in early kernel initialization. As I didn't manage
to trigger this code though I am not sure if this is gonna work.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23926 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-07 23:19:28 +00:00
Jérôme Duval
2836442b70 window is not zoomable, bug #1761
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23925 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-07 20:21:32 +00:00
Jérôme Duval
4bbe697365 fix warning
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23923 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-07 19:33:53 +00:00
Jérôme Duval
6be75ff237 fix gcc4 build
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23922 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-07 19:31:49 +00:00
Ingo Weinhold
7486b72dd1 Added some kernel tracing to the runtime loader.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23921 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-07 19:22:39 +00:00
Ingo Weinhold
0c221f53a3 Also check the syscall number to avoid problems.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23920 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-07 19:07:26 +00:00
Ingo Weinhold
3d779beaa3 Don't invalidate the syscall number, since that's not handled graciously
in the syscall handler.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23919 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-07 19:06:03 +00:00
Ingo Weinhold
3832c7ec7f Always clear the THREAD_FLAGS_64_BIT_SYSCALL_RETURN flag, even when
using the int 99 syscall method. Otherwise it would remain set e.g.
after _kern_restore_signal_frame() and the next syscall would look like
one returning a 64 bit value.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23918 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-07 19:04:38 +00:00
Ingo Weinhold
385627911c Debug code. From time to time I still see 64 bit return values when they
should be 32 bit only.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23917 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-07 16:04:24 +00:00
Ingo Weinhold
ed854de770 Also include info about the syscall return type in the
extended_syscall_info structure.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23916 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-07 16:03:00 +00:00
Axel Dörfler
6f58064f10 * Added flags field in net_protocol_module_info; there is currently a single
defined flag: NET_PROTOCOL_ATOMIC_MESSAGES.
* socket_send() now honours NET_PROTOCOL_ATOMIC_MESSAGES and returns either
  EMSGSIZE if the data to be send is larger than net_socket::send::buffer_size,
  or divides the data in appropriately sized chunks.
* This fixes sending >=64K over a TCP socket at once (TCP would just have
  returned an error in that case).
* TCP now overrides the default send buffer size (to 32768 for now).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23915 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-07 15:09:19 +00:00
Stefano Ceccherini
032f765603 Also set the scrollbar steps when the terminal size changes.
Moved SetFlags() from _InitObject() to unarchiving constructor as other 
constructors already set the flags.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23914 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-07 15:06:30 +00:00
Stefano Ceccherini
1d7596167d Call BScrollBar::SetSteps() with the correct values also on font change,
and when a scrollbar is attached. Fixes bug #1759


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23913 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-07 14:52:16 +00:00
Stefano Ceccherini
ffa3002c15 We don't need TermView.h
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23912 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-07 14:38:10 +00:00
Stefano Ceccherini
4882883b6f AppearPrefView was mixing up flags and resizing mode. Fixed.
Also set the flag B_PULSE_NEEDED (for the blinking cursor) in TermView.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23911 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-07 14:14:02 +00:00
Stefano Ceccherini
a2186f4a81 print also the view name in case it mixes up flags and resizing mode.
Helps identifying it.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23910 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-07 14:12:49 +00:00
Stefano Ceccherini
e4f975d47a Set the low and view color on construction, and set the B_WILL_DRAW flag
too, since we can't do anything without it.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23909 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-07 13:30:39 +00:00
Stefano Ceccherini
c9aadc4f63 Added a pretty useless test app to show that embedding a TermView in
another apps works correctly (minus the blinking cursor, we'll see why 
it doesn't)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23908 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-07 13:29:41 +00:00
Ingo Weinhold
397a6cee6a Use thread_yield(false) instead of snooze(100) for reseeding. This makes
the driver actually usuable.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23907 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-07 11:42:18 +00:00
Ingo Weinhold
9835c090a6 Added a boolean "force" parameter to thread_yield(). When true, the
function has the old behavior. When false, it just calls the scheduler
without any priority adjustment or other stuff.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23906 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-07 11:40:31 +00:00
Stefano Ceccherini
d082779211 Rewrote Input.h, adjusted Input.cpp accordingly, added nothrow on
allocations.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23905 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-07 10:50:39 +00:00
Ingo Weinhold
f38b49f162 Added small test program that opens and reads a few bytes from
/dev/urandom. It verifies that Haiku's dev/urandom is performance-wise
totally unusable -- it takes several seconds.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23904 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-07 02:22:48 +00:00
Ingo Weinhold
7025a0386d Added cc and c++ wrapper scripts.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23903 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-07 00:26:02 +00:00
Philippe Houdoin
6198a9798e Made DPC module binary compatible with BeOS one.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23901 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-06 23:10:13 +00:00
Marcus Overhagen
05b79eadff Removed the no longer needed debug code.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23900 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-06 22:08:25 +00:00
Axel Dörfler
392eb518d5 * Added gcvt() implementation - this fixes bug #1757.
* Added gcvt(), ecvt(), and fcvt() prototypes to stdlib.h - they are all
  marked legacy, but are still part of the POSIX standard, so we might want
  to implement them if the need arises.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23896 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-06 17:11:02 +00:00
Axel Dörfler
0b26e0b1d4 * When removing a media, only the device was unmounted if needed, not its child partitions.
Not sure if this is the right place, Ingo might want to review that one.
* This fixes unmounting sessions of a multi-session CD, ie. the BeOS CD (it currently panics
  when trying to access a device that's not there anymore - for debugging only, of course :-)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23894 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-06 11:46:44 +00:00
Ingo Weinhold
5d84643b03 Renamed the ALM test programs to be less likely to clash with others.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23893 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-06 11:19:59 +00:00
Axel Dörfler
dbc1da17ed * devfs now uses the driver's name instead of its node_ref to see if it
already knows this driver.
* This should also allow to have a driver in home/config/add-ons/... overlays
  a driver with the same name in system/add-ons/...
* This should also fix bug #1750.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23892 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-06 11:13:14 +00:00
Axel Dörfler
217d31eac9 Session needs a higher priority than ISO 9660 or the latter might "steal"
multi-session CDs. Maybe partitioning systems should give preference over
file systems, though.
This fixes bug #1634.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23891 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-06 11:00:26 +00:00
Ingo Weinhold
05d8f5251b * Added James Kim to the list of contributors.
* Added temporary copyright entry for lp_solve as a placeholder, until I
  know what it should say.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23890 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-06 10:59:34 +00:00
Ingo Weinhold
a101e99aad Added libalm.so and its dependency liblinprog.so. libalm.so provides a
BLayout implementation (BALMLayout) using the Auckland Layout Model
(ALM). The original ALM was implemented by Christof Lutteroth, the
Haiku/C++ version by James Kim.
The code needs some review, but the test programs seem to work fine.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23889 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-06 10:51:44 +00:00
Ingo Weinhold
38d596cb81 * Moved public headers to headers/libs/lp_solve.
* Added Jamfile by James Kim and Christof Lutteroth.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23888 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-06 10:37:19 +00:00
Ingo Weinhold
9e8bb5d036 Copying lp_solve 5.5.0.11 to trunk.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23887 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-06 10:29:46 +00:00
Ingo Weinhold
db52d16ef8 Applied r23800 to the PXE trampoline code, too.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23883 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-05 23:59:17 +00:00
Axel Dörfler
87618c5b55 * Added bridge device ID for i865.
* Added other IDs from the graphics driver, but I need to look up
  their bridge IDs before actually adding them.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23881 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-05 22:15:15 +00:00
Ingo Weinhold
80b2da5e53 Patch by Samuel Rodriguez Perez: Added support for writing Haiku
directly onto a device under FreeBSD.

I messed around with the code a little (style-fixes, some refactoring)
without being able to compile or test it, so be careful...


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23880 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-05 20:54:42 +00:00
Michael Lotz
0d83dc06e3 * Use 0xdeadbeef as an indicator to only conditionally walk the freelist.
This is not safe when already freed memory is overwritten. But since we also
  store the next pointer of the freelist in there, overwriting would break the
  freelist and cause a crash in that case. This gives a drastic performance
  boost when freelists grow during use and especially when opening and closing
  a lot of programs.
* Optimize filling the freed element with 0xdeadbeef by writing 4 bytes at a
  time instead of using single byte writes. Works as all our bins have an
  element size that is a multiple of four. Put a panic in there just in case
  this assumption isn't met for some reason.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23879 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-05 20:21:44 +00:00
Ingo Weinhold
f54626a7ae Converted to UNIX line breaks.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23878 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-05 19:40:26 +00:00
Stephan Aßmus
fd6477d3e6 I tried to follow the example of PartitionMapAddOn and implemented more
stuff for the ExtendedPartitionAddOn. If I understand correctly, from the
point of view of the Disk Device API, ExtendedPartitionAddOn is a disk system
which supports child partitions and is analogous to PartitionMapAddOn. The
type string for the supported child partitions is probably wrong, since I
used "Intel Logical Partition".... In fact, the types currently returned by
PartitionMapAddOn are not as intended either. We will have to think of how
we want this particular feature to work.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23877 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-05 17:57:40 +00:00
Stephan Aßmus
af4ad10c3e I took the liberty of implementing GetNextSupportedType(), which is needed
to be able to call BPartition::GetNextSupportedChildType(). For the 
PartitionMapAddOn, the types should be either primary or extended, depending
on the number of empty primary partitions and the existance of one
extended partition. DriveSetup shows "Intel Primary Partition" and
"Intel Extended Partition" in the Create menu now. Ingo, please review,
maybe I didn't understand the plan correctly. Also, I tried to follow the
code path, which is quite nested, and am pretty confused.. For example,
I didn't find the place where the CreateChildJob is finally created. Is this
missing yet?


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23876 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-05 15:23:19 +00:00
Stephan Aßmus
e0b3fc9796 IMHO these are a little better error codes. If fDelegate is NULL, it means
the BDiskDevice of a BPartiton has not been prepared for modifications. To
me, it means the initialization status of the object does not support the
operation, hence B_NO_INIT. B_BAD_DATA hints to me that I have passed invalid
data to a function.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23875 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-05 15:16:22 +00:00
Stephan Aßmus
70c8595603 Spotted a leak while trying to understand what's happening.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23874 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-05 15:13:14 +00:00
Axel Dörfler
44f1689702 * Removed B_CAN_INTERRUPT from acquire_sem_etc() call in hda_send_verbs();
that doesn't look right to me (and since there is a 50 ms timeout anyway...).
* Minor coding style cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23872 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-05 11:21:07 +00:00
Stephan Aßmus
7b95b37ca2 Make the Desktop window check the Deskbar frame only every half a second,
use a cached value otherwise. Should speed up icon placement when Tracker
starts.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23871 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-05 09:23:05 +00:00
Axel Dörfler
1ea104aeeb UpdateIfNeeded() no longer keeps the looper's BMessageQueue locked when
calling DispatchMessage().


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23870 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-05 08:36:01 +00:00
Stephan Aßmus
753fd45fc2 Second part of a patch sent by Clemens zeidler:
* If in B_WIDTH_AS_USUAL mode, the strings in the tabs are nevertheless
  truncated to the available width.
* Pass the real area available for the string to BTab::DrawLabel(), resolved
  TODO in DrawLabel() about not having to calculate an offset to account
  for the slope.
* Fixed some too lines of code.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23869 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-05 08:07:21 +00:00
Stephan Aßmus
00f378126a First part of a patch sent by Clemens zeidler:
* The BMediaTheme now uses B_WIDTH_FROM_LABEL for tabs in tabviews, 
  this makes tabs as wide as they need to be.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23868 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-05 08:04:03 +00:00
Stephan Aßmus
034e2b7f94 applied patch by Maurice Kalinowski:
* BTimeSource now checks if it is about to add itself as a slave node
  and refuses to.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23867 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-05 08:00:08 +00:00
Michael Lotz
9a2cc3ad3f * Fix some coding style issues
* Stumbled upon a possible bug while trying to understand the reuse of large
  allocations. The "first" variable was always set to the current index at the
  end of the loop, even if it was already set. This should have caused that
  the success condition to never be reached.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23866 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-04 21:53:57 +00:00
Ingo Weinhold
bd6a90a7e2 _PostMessage() was holding the BLooperList lock while calling
BMessenger::SendMessage(), which could lead to deadlocks (as in bug
#1745).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23865 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-04 21:12:19 +00:00
Ingo Weinhold
350b6dbc3a * Removed AbstractTraceEntry::sPrintTeamID and added a flags field to
TraceOutput for output options instead.
* Added "traced" option --difftime. Instead of the absolute system time
  it prints the difference time to the previously printed entry.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23864 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-04 17:54:40 +00:00
Axel Dörfler
7cb9337835 * Ingo broke binary compatibility of Window.h in r18649, thanks to Stefano
for finding this. This should fix bug #1734.
* Removed unused BWindow members and the temporary PrintToStream() method.
* Indentation cleanup (DirectWindow.h had some spaces instead of tabs).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23863 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-04 15:01:34 +00:00
Stefano Ceccherini
4d67ea42f3 And of course, actually save the font size selected via shortcut.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23862 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-04 11:08:06 +00:00
Stefano Ceccherini
894a6c6217 The termview was resized 2 pixels less than needed.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23861 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-04 10:46:24 +00:00
Stefano Ceccherini
56e415dda1 Opening the preferences window and hitting "cancel" would shrink the
window every time, without reason, since _Revert() was called even if no 
changes were made.
Build the list of window sizes dynamically, this way we get rid of some 
code duplication.
Removed implementation of TermWindow::QuitRequested(). The 
B_QUIT_ON_WINDOW close takes care of quitting the application.
Some cleanups.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23860 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-04 09:43:16 +00:00
François Revol
7bf8652984 Fix gcc4 build.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23859 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-04 03:31:17 +00:00
François Revol
570e1312b5 Move the about box to a static so the replicant can use it as well.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23858 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-04 01:25:48 +00:00
François Revol
c09b3a97dc Move the dragger back to its corner on resize.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23857 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-04 00:39:34 +00:00
François Revol
0abb35c2fc It's now replicable. The dragger doesn't move correctly on resize though. And it needs a better menu.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23856 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-03 23:00:56 +00:00
François Revol
bb00cd45ed * Reindent & style fix.
* Added copy-to-clipboard.
* Added picture and bitmap clipboard formats.
Now you can just paste into either a text or graphics app. Even Gobe uses the text in word processor and bitmap in picture editor :)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23855 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-03 21:37:23 +00:00
Stephan Aßmus
967d72041f * Implemented support for generating global partition_ids for partitionable
spaces. This way we can use all the existing logic to select them in either
  list view or the disk layout view. IAW, selecting empty spaces now works.
* Changed the way the Create menu works. It is now only enabled if a space
  item is selected and then the sub items are filled with the types that
  the parent partition says it supports for child creation. (Does not
  yet seem to work.)
* PartitionViews for spaces were not put into the partition_id -> view map.
* Fixed focus indication when switching the disk for the disk layout view,
  previously, the correct view was only selected when the disk did not change.
* Added a temporary work around to avoid showing bogus space items at all
  (those smaller than a "cylinder size"). Currently hard coded to 8 MB size.
  But I already have an idea how we could fix this in the Disk Device API
  implementation.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23854 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-03 20:24:05 +00:00
François Revol
fb3fcd8754 Fix Haiku build.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23853 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-03 19:42:40 +00:00
François Revol
6a4bb556c1 * HTML now looks ok.
* Inlcude headers for clipboard too, one might want the css code also.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23852 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-03 19:35:24 +00:00
Stephan Aßmus
4290042b17 Fix the "Intel Extended Partition" add-on to use the correct disk system
name ("Intel Extended Partition"), this allows disks with extended partitions
to successfully PrepareForModifications(). I have just used DriveSetup to
initialize a partition with BFS. Yay!


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23851 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-03 19:08:52 +00:00
François Revol
495bcef7a8 * Better looking html.
* Set mime type when exporting to file.
* disable netpositive stuff (only css).
* export only the table when not saving to file (clipboard).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23850 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-03 18:38:47 +00:00
Axel Dörfler
08f2fdac37 * "call" now sets some useful debugger variables, like _argX for all arguments,
and _frame for the stack frame.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23849 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-03 18:04:25 +00:00
François Revol
dc6e60ec93 * Quit on window close.
* Added HTML export, and provision for more formats and clipboard export.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23848 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-03 17:57:55 +00:00
François Revol
3a78bc6b6c How come this doesn't generate a warning ? clipped to int32.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23847 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-03 17:53:52 +00:00
Axel Dörfler
db18308b90 Fixed the "call" command to actually show the arguments that belong to the
function name it prints.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23846 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-03 17:52:43 +00:00
Stephan Aßmus
aa1df4dc4d Incorporate work done by James Urquhart (jamesu):
* Use our own BBitmapStringField implementation which also requires our
  own BColumn implementation. This is just a visual improvement which makes
  both the eventual partiton icon and device label indent with the outline
  level of the list item
* when setting the Unmount menu item enabled state, check wether the
  partition in question is the /boot volume and disallow unmounting.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23845 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-03 17:29:48 +00:00
Stephan Aßmus
e951046835 Fixes the build for the app_server test environment.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23844 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-03 17:25:33 +00:00
Axel Dörfler
0481936536 * Ported FreeBSD's ftpd to Haiku.
* Added it to the image, and configured it to be used.
* Currently, it cannot transfer files over 64 KB for some reason
  ("Message too long").


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23843 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-03 16:37:49 +00:00
Axel Dörfler
43711de9d2 * Added BSD specific errno.h for EDOOFUS (yeah, I know, great error code...)
* Added sigmask() macro.
* Fixed libutil.h I broke yesterday: it's thought to add functions only if
  you've included some other headers before; added the correct header guard
  we're using for our sys/param.h.
* Added pidfile.c to the build.
* Fixed warning in realhostname.c, and pidfile.c.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23840 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-03 16:20:16 +00:00
Michael Lotz
2362422c38 Do not just overwrite the thread state when suspending a thread since this easily causes problems on SMP systems (triggers the panic in the scheduler).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23839 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-03 16:18:19 +00:00
Michael Lotz
f87d72d788 Introduce a B_NO_LOCK_VECTOR flag to be used with install_io_interrupt_handler().
When specified it desigantes that the interrupt handler should not lock the
vector with a spinlock when executing the installed interrupt handlers. This
is necessary to allow the same interrupt vector to be handled in parallel on
different CPUs. And it is required for the CPU halt to work synchronously when
there is more than one AP CPU. Though the acquire_spinlock() should cause IPIs
to be processed, only this fixed the SMP_MSG_FLAG_SYNC problem for me.
Not locking is safe as long as it is guaranteed that no interrupt handler is
registered or removed while the interrupt handler is running. We can guarantee
this for the SMP interrupt handlers we install in arch_smp_init() as they are
never uninstalled. Probably this flag should be made private though.
Restored the SMP_MSG_FLAG_SYNC when entering the kernel debugger.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23838 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-03 16:16:17 +00:00
Stefano Ceccherini
13bba42efc Previous revision break all sorts of stuff. Fixed. hopefully
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23837 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-03 16:02:13 +00:00
Axel Dörfler
a32a4683ff * Implemented flock() semantics to the advisory locking backend. Not tested
(must also compare to BSD; I've looked at their sources, but I might have
  missed something).
* Added sys/file.h and the flock() system call.
* common_fcntl() could forget to put back the file descriptor on some error
  conditions (I guess we should introduce and use a DescriptorGetter class).
* Cleaned up fcntl.h, moved the BSD extensions S_IREAD and S_IWRITE to
  sys/stat.h where they belong, and added the missing S_IEXEC to them.
* Added some more comments.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23836 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-03 15:37:31 +00:00
Axel Dörfler
e5bc2a9e7a Added BSD extension vsyslog() - is also found on Linux.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23835 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-03 15:31:16 +00:00
Jérôme Duval
6b1fc6fcb7 added a translator for EXR images, based on www.openexr.com
This builds only with GCC 4, mostly because it needs libstdc++ v3


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23834 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-03 13:01:23 +00:00
François Revol
82610ec8eb * get rid of ppc stuff
* possible types of exception frames


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23833 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-03 11:39:28 +00:00
Axel Dörfler
5905a0ae34 * Fixed _{kern|user}_{read|write}[v]() functions to not move the descriptor's
file position in case an offset was specified.
* Reverted r23828-r23830 in File.cpp: don't fix the symptoms but the cause
  of the problem (hey, that has to be in the kernel, right? :))
* Cleanup of File.cpp, removed OpenBeOS namespace.
* Moved user_fd_kernel_ioctl() to the section where it belongs to (that
  function should be renamed, though).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23832 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-02 23:50:51 +00:00
Stephan Aßmus
40da55c3ad * the BeBook documents WriteAt() and Write() to differ analogous to
ReadAt() and Read() with regards to the file position. Ie, WriteAt()
  is not supposed to modify the data pointer.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23830 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-02 18:28:26 +00:00
Bruno G. Albuquerque
835b8e688a This fixes my previous fix. The position to read can be completelly random so I have to first cache the current
position before calling _kern_read() and reset it afterwards.

*NOW* this fixes bug #1200 in all cases.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23829 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-02 17:59:33 +00:00
Bruno G. Albuquerque
3debfe5186 ReadAt() should not change the file position. Tested under R5 and Zeta. This fixes bug #1200 (Received emails are
missing attributes).

I hope nothing relies on the previously broken behaviour.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23828 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-02 17:38:55 +00:00
Axel Dörfler
e6b30aee0f Minor improvements for the BSD compatibility library:
* Added {get|set|end}usershell() functions.
* Define MAXLOGNAME, and L_SET, L_INCR, and L_XTND.
* The pidfile stuff in libutil.h is now included, too.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23827 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-02 17:38:09 +00:00
Axel Dörfler
987de53746 * Also replaced the cpu store's lock with a recursive lock in order
to fix bug #1731.
* However, it turns out that depot destruction obviously doesn't work
  correctly, at least we keep partial or full slabs around when we're
  using them (which causes the code to panic).
* Therefore, I've now disabled depots completely, until I find the time
  to really work on that code.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23825 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-02 14:20:33 +00:00
Stephan Aßmus
96418817f9 * added a PrintToStream() method
* added optional tracing for the main operations
* fixed bad pointer arithmetic when reallocating/moving the object's data
* it was impossible to remove the very first space via _RemoveSpaces()
* added a little more variaty to error return codes for some
  functions to make them a little more helpful

-> This fixes the bogus space values in DriveSetup (#1737)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23824 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-02 12:38:15 +00:00
Axel Dörfler
f033aee165 * Added B_NOT_SUPPORTED, B_KERNEL_READ_AREA, and B_KERNEL_WRITE_AREA to
HaikuBuildCompatibility.h; this fixes building agp_gart and the intel
  extreme driver for BeOS.
* Added sockaddr_storage to HaikuBuildCompatibility.h.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23823 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-02 12:18:55 +00:00
Axel Dörfler
45b17b80d1 * Temporarily switched to a recursive lock for the depot.
* While this is not a really good idea for a lock with supposedly little
  contention, but it'll fix bug #1731. I haven't tested it yet, but will
  do so in a minute :-)
* I will need to rework the slab anyway so that it's possible to use it
  as a replacement for our heap, and then I'll switch back to a benaphore
  again.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23822 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-02 12:12:54 +00:00
Axel Dörfler
5ccd99565d Benaphores are nice and fast, but they aren't useful for debugging at
all.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23820 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-01 23:05:26 +00:00
Michael Lotz
3037952b5f Only put B_PCI_MODULE_NAME if we succeeded in getting the module. Fixes booting on non-PCI systems (i.e. QEMU with -M isapc).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23819 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-01 21:49:28 +00:00
Oliver Ruiz Dorantes
308050e89a Update LocalDevice class with basic bluetooth_server comunication. Server code still to come. Nothing except the driver tested at the moment... I hope after these nothing is broken
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23817 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-01 21:24:17 +00:00
Oliver Ruiz Dorantes
c89827983a Add bluetooth transport drivers jamfiles
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23814 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-01 20:55:18 +00:00
Oliver Ruiz Dorantes
dae43edd0a Clean ups, and removed warnings. Some definitions moved to more generic headers
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23813 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-01 20:48:56 +00:00
Stephan Aßmus
8d2c63c703 * To be able to call BPartition::GetPartitioningIngo(), you need to call
PrepareModifications() on the parent BDiskDevice first. Hm. I should
  probably reorganize things a bit.
* Selecting these empty spaces is still not supported.
* Fixed inserting empty spaces in the DiskView at the correct index.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23812 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-01 18:02:04 +00:00
Stephan Aßmus
56d794d68e * implemented detecting and displaying available space on devices and
partitions - I couldn't test it yet, but what is definitely missing
  is being able to select these spaces to create new partitions on them
* fixed the bug that if you select a partition on another disk, the
  disk view does not switch to the new disk. (I was comparing disk
  pointers, but since I deleted the old BDiskDevice instance first, the
  new one got assigned the same pointer... at least it appears I am not
  leaking memory anywhere... :-))


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23811 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-01 14:50:06 +00:00
Ingo Weinhold
90e3bbf0cb Added optional kernel tracing for sending BMessages. Currently only the
destination of the message and it's "what" field are stored. It might be
nice to also get some info about its fields -- maybe as an additional
option.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23810 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-01 12:35:00 +00:00