Commit Graph

19360 Commits

Author SHA1 Message Date
Ingo Weinhold
529bf4045b In a copy-on-write situation a page from a lower cache must always be
mapped fully read-only (for both kernel and userland). Previously a
kernel read access to a yet unmapped r/w accessible userland address
would cause the page from the lower cache to be mapped with write
permission for userland (on x86 also for the kernel) thus e.g.
allowing a fork()ed child process to write to the parent process'
memory.

Fixes bugs #113 and #928.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20402 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-21 19:48:38 +00:00
Ingo Weinhold
34ce586692 "Clean room" test for a "copy on write" problem leading to bugs #113
and #928. Under certain conditions a fork()ed child process can
write to the parent process' memory.
A fix follows...


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20401 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-21 19:36:34 +00:00
Jérôme Duval
6f93ad781b calls again BMimeType::GuessMimeType() in BackgroundsView (was only called in the ImagePanel filter)
should fix bug #1101


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20400 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-20 22:40:34 +00:00
Axel Dörfler
bdfc47dbcd * Fixed the test for equality when a known ARP reply came in - you should no longer
see the "ARP entry updated with different address" message.
* sockaddr_dl::sdl_data is now unsigned (uint8_t instead of char).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20399 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-20 22:21:36 +00:00
Axel Dörfler
4b661a956f Fixed a stupid bug that prevented DHCP from trying again if a request was lost
(always happened here with my laptop :-)).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20398 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-20 22:09:53 +00:00
Axel Dörfler
1a38ebd28b No longer crashes when deleting "certain" interfaces (couldn't reproduce the
crash in Qemu for some reason).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20397 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-20 19:15:31 +00:00
Ingo Weinhold
44b5d72b5a Added new functions to the debugger API:
{set,clear}_debugger_{break,watch}point(), allowing to set/clear break
and watchpoints for the calling team. When a break/watchpoint is hit,
the team enters the debugger. Handy in situations when the program in
question can't really be started in a debugger (or it would be
complicated to do so). The functions work only as long as no debugger is
installed for the team.

We clear the arch specific team and thread debug infos now, when a new
debugger is installed, thus clearing break- and watchpoints.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20396 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-20 16:20:13 +00:00
Jérôme Duval
a1394a90ad fixed bug #637:
"Shutdown window didn't draw fancy gray box where closing app's icons are shown
as in BeOS."


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20395 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-19 20:46:01 +00:00
Jérôme Duval
4dd9e43637 fixed some warnings in multi.cpp
updated with Release B3 (I didn't test yet) :
-Firmware to support new revision 5 Indigo io and Indigo dj hardware
-Firmware to support new revision 4 Mia MIDI hardware
-New FPGA & DSP code to correct problems with S/PDIF at 96 kHz on Gina3G (note new,
longer timeout required in C3gDco.cpp)
-Changes to support x64 Windows
-Fix for 96 kHz on Mac OS X for Echo 3G
-New QuerySampleRateRange method for all devices
-Simplified channel mask classes
-New ECHO_ASSERT macro to simplfy enabling and disabling asserts
-Removed m_wBytesPerSample from CEchoGals; it wasn't being used and caused housekeeping problems for Adobe Audition recording in mono mode
-Now using READ_REGISTER_ULONG and WRITE_REGISTER_ULONG macros to read and write DSP registers; these
are automatically defined if the platform environment doesn't define them.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20394 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-19 19:06:47 +00:00
Ingo Weinhold
467b8adffa For some reason a Terminal started by Tracker or Deskbar does not have a
valid stderr. Thus one of the FDs for the pipes created for the initial
handshake with the fork()ed child process exec()ing the shell would have
number 2 and would be closed when the child process set up the
stdin/out/err environment for the shell, leading to the child and the
parent being killed by a SIGPIPE when they tried to access the pipes.

This change replaces the pipes mechanism by one using send/receive_data(),
which is probably even faster. I also reduced the handshake_t::msg field
to 128 bytes and replaced the sprintf()s writing to it by snprintf()s.

Fixes bug #627. Although they looked related, bugs #113 and #928 still
persist.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20393 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-19 18:25:56 +00:00
Niels Sascha Reedijk
a38ee20f99 Initial revision of the API documentation guidelines up for discussion. DataIO.dox and List.dox conform to these guidelines.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20392 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-19 09:38:47 +00:00
Jérôme Duval
18108ef7de applied minimums to values computations
implemented SetLimitsFor() and GetLimitsFor()


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20391 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-18 23:32:27 +00:00
Axel Dörfler
8cf2f7dedd Renamed BeMail.rdef to Mail.rdef (subversion doesn't allow to rename a directory
and any of its contents in one commit).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20390 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-18 13:49:56 +00:00
Axel Dörfler
0995b56384 * Renamed BeMail to Mail.
* The settings are still saved in "config/settings/BeMail Settings", though.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20389 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-18 13:44:26 +00:00
Jérôme Duval
789b86ec6c don't send a message on mouse down and mouve moved
correctly set "be:channel_changed"
correctly set "be:current_channel" with SetCurrentChannel()
correctly set "be:value"


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20388 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-17 18:25:27 +00:00
Ingo Weinhold
15a62f7c61 gcc 4 fix.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20387 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-14 20:37:07 +00:00
Ingo Weinhold
2c97a8d164 Use -I instead of -isystem for system header directories when building
with gcc 4. Fixed resulting build errors (gcc is more lenient for
headers in -isystem directories).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20386 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-14 20:36:42 +00:00
Jérôme Duval
80a1eea587 only chooses alpha characters for menu triggers
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20385 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-14 18:53:31 +00:00
Axel Dörfler
4d7c45a7f1 Fixed PPC build (still using the older compiler, though).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20384 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-14 15:47:11 +00:00
Jérôme Duval
4d275b2b21 added some Haiku media definitions
made mpglib beos compatible


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20383 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-13 23:10:19 +00:00
Axel Dörfler
91d6453948 * Added a new Workspace::GetPreviousWindow() method to allow traversing the window
list in the other direction.
* Since WorkspacesLayer now cuts out the current window from the clipping region,
  the window order was upside down; it now uses the new Workspace::GetPreviousWindow().
  This fixes bug #1105.
* WorkspacesLayer::MouseDown() now also uses GetPreviousWindow() which prevents it
  from needing to scan the whole window list for the top window at every click.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20382 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-13 16:53:19 +00:00
Stefano Ceccherini
a3d758e369 Added support for font settings in PictureDataWriter. Not used yet
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20381 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-13 11:14:47 +00:00
Jérôme Duval
f5c30dd323 added checks to trick the gcc4 compiler. this way the label is kept.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20380 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-13 00:32:48 +00:00
Stefano Ceccherini
2ef329a206 Fixed font sensitiveness issues in the Fonts preflet. Patch by Lucasz
Zemczak.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20379 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-12 20:52:21 +00:00
François Revol
4f18055dfa Support for a query:<forumla> url type :) (still needs unencoding of quotes)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20378 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-12 14:46:45 +00:00
Ingo Weinhold
e4b4574f41 Reordered somewhat unhealthy looking if-construct (first
"currentPage->state == ..." then "currentPage != NULL").


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20377 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-12 12:23:45 +00:00
Gerasim Troeglazov
f6be3b4d1a Added getting label of ntfs volume in fs_identify_partiton function.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20376 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-12 08:43:34 +00:00
Ingo Weinhold
73a3220667 Incorporated hash and block cache changes of r20368 and r20374.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20375 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-12 08:32:47 +00:00
Axel Dörfler
de4145dbb6 Cleanup:
* NewBlock()/FreeBlock() are now symmetrical in that the former no longer inserts
  the block into the hash table.
* delete_transaction() also no longer removes the transaction from the hash table.
* cache_transaction_sync() now uses the new hash_remove_current() function.
* minor other cleanup (like line breaks).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20374 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-11 23:17:28 +00:00
Ingo Weinhold
1f78f00899 We can build the ReiserFS add-on with Haiku interface for the userland,
too.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20373 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-11 21:23:40 +00:00
Ingo Weinhold
f0bc043b2a Ported the ReiserFS code to the Haiku FS interface. Removed the built-in
block cache.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20372 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-11 21:22:34 +00:00
Ingo Weinhold
43c46e9380 Copy'n'paste leftovers.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20371 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-11 21:21:15 +00:00
Ingo Weinhold
d0c61f232b More distinctive header guard.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20370 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-11 21:20:23 +00:00
Axel Dörfler
f19d32ef8f Fixed warning.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20369 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-11 21:19:20 +00:00
Axel Dörfler
826e857cf0 Implemented hash_remove_current() which removes the current iterator position
from the hash - not yet tested.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20368 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-11 21:18:49 +00:00
Ingo Weinhold
824e907a2c Added Haiku block cache interface to the UserlandFS server. Basically
copied and adjusted the respective kernel code.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20367 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-11 15:04:53 +00:00
Ingo Weinhold
9781d591cb Include <util/kernel_cpp.h> in DoublyLinkedList.h only when compiling
for the kernel. Added missing includes in userland code that uses the
header.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20366 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-11 13:56:45 +00:00
Ingo Weinhold
e1555e1fdf get_cached_block(): Remove the newly allocated block from the
hashtable in case of a read error (NewBlock() also adds the block,
but FreeBlock() only frees it).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20365 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-11 13:51:18 +00:00
Axel Dörfler
6e601ee88f get_memory_map() now panics (and fails) in case it was called on unmapped memory as
suggested by Ingo; before it would just fill the physical pages with NULL pointers.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20364 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-11 13:27:42 +00:00
Axel Dörfler
b5937fc6e6 The Message-Id field now gets a default hostname added in case there is none set in the system.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20363 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-10 12:33:33 +00:00
Ingo Weinhold
bf4604c363 Fixed incorrect loop conditions in [un]lock_memory(). If the given
start address wasn't aligned and numBytes was a multiple of the page
size, the last page was ignored. A subsequent get_memory_map() would
return NULL as physical address for that page, if it hadn't been mapped
before (that function looks generally suspicious, IMHO). E.g. reads from a
device into an unaligned buffer that hadn't been touched before would
hit that problem. Fixes bug #1075. Might also fix other reported
problems (like #1056), since this bug could have cause all kinds of weird
behavior and crashes. 


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20362 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-09 21:40:56 +00:00
François Revol
75d00d2451 It should now list and instanciate devices correctly... but doesn't work yet :-(
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20361 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-09 15:43:41 +00:00
Ingo Weinhold
517df2f7f3 Added a list of tools directly or indirectly required to build Haiku.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20360 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-09 14:07:27 +00:00
François Revol
07005d6f95 implement a recursive scanning of /dev/audio/old/ to find devices. Untested yet.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20359 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-08 19:28:17 +00:00
Ingo Weinhold
fd87740ca0 Removed mentioning of non-BeOS platforms in the "Configuring on BeOS"
section.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20358 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-08 19:28:06 +00:00
Marcus Overhagen
ce8185b383 cleanup & disabled most debug output
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20357 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-08 17:40:40 +00:00
Axel Dörfler
1594e83f84 * All mapped pages that are not wired (ie. locked) now have a vm_page_mapping object
that points to both, the page and the area the page is in. This will allow a page
  scanner to steal unused pages when necessary.
* The locking is currently done with a spinlock which we might want to have another
  look at one day.
* dump_page() and dump_area_struct() now dump the page mappings as well.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20356 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-08 14:35:26 +00:00
Axel Dörfler
1d4134cb51 Added Euan Kirkhope to the list of contributors.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20355 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-08 13:10:09 +00:00
DarkWyrm
7ef397d30c Hopefully this fixes bug #1084. Untested because of bug #1035
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20354 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-07 21:48:20 +00:00
Ingo Weinhold
cdf5f77bab HaikuSubInclude in action.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20353 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-07 16:02:16 +00:00