Commit Graph
100 Commits
Author SHA1 Message Date
Axel Dörfler 2effffff60 Added Vasilis Kaoutsis to the list of contributors.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19819 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-01-15 20:52:55 +00:00
Axel Dörfler b73f3b8a15 Applied patch by Vasilis Kaotsis, and added him as an author (because you don't really
recognize the original anymore :-)).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19818 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-01-15 20:48:32 +00:00
Axel Dörfler 04121b1396 * Add() did not add fNumBytes in case of an out of order packet, causing all kinds of
hickups on TCP connections.
* Added a bit more of debug output to Add().


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19817 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-01-15 18:00:39 +00:00
Axel Dörfler bbaa26a490 The net_server is now a BServer instead of a BApplication, IOW it doesn't rely on the
app_server being started anymore.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19816 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-01-15 16:51:27 +00:00
Axel Dörfler c2f09ed5b7 * Fixed compilation with debug output turned on.
* Added FIONBIO ioctl() in debug output.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19815 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-01-15 16:17:08 +00:00
Axel Dörfler 9ef37e3bc4 The networking server is now launched at system startup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19814 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-01-15 16:16:10 +00:00
Axel Dörfler 4062fe7ce3 fReceiveNext was not maintained correctly in case of out of order packets.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19813 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-01-15 16:10:13 +00:00
Axel Dörfler e1771d9b1d Calmed down ICMP protocol module as well.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19812 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-01-15 15:14:02 +00:00
Axel Dörfler ab4048488d The IPv4 protocol now stores all domain receiving protocols, and only put them away on uninit.
This should speed up packet retrieval a lot.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19811 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-01-15 14:22:31 +00:00
Axel Dörfler 235a50037c accept() and bind() now accept NULL address parameters in the R5 compatibility mode.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19810 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-01-15 13:07:09 +00:00
Axel Dörfler 9aed1afa6a "step" could be zero, in which case the loop would never end.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19809 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-01-15 12:53:11 +00:00
Axel Dörfler 6f19c1db2d There was a race condition between removing the thread from the hash and putting
its death entry into the parent team's queue - we need to do this atomically.
As an effect, wait_for_thread() sometimes failed with B_BAD_THREAD_ID.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19808 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-01-15 12:41:08 +00:00
Axel Dörfler 7383c05e71 The R5 socket protocol constant conversion routine was broken - now, NetPositive
is starting to work under Haiku.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19807 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-01-15 12:37:08 +00:00
Axel Dörfler e9ffbbf36c Moved locking into map_backing_store() - it now gets a vm_cache_ref instead of a vm_store,
so that this can be done safely.
It was also needed, as it would call vm_cache_release_ref() on failure which requires you
to have no vm_cache_ref locks around (as it might deadlock in this case).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19806 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-01-15 11:40:13 +00:00
Axel Dörfler d8a7f74053 vm_store::fault() is now called with having the vm_cache_ref locked, so it shouldn't
be locked again here...


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19805 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-01-15 10:24:22 +00:00
Axel Dörfler d60fa6c96f Now checks the return value of wait_for_thread() and print out an error message if it fails.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19804 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-01-15 10:11:03 +00:00
Axel Dörfler 49b3453720 Applied patch by Eric: this fixes a crash after some time (when the FIFO queue was full
for the first time).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19803 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-01-15 09:42:08 +00:00
Axel Dörfler 842d81bf28 vm_cache_remove_consumer() did not only access vm_cache_ref::cache without having
had the cache_ref locked, it also locked two refs in the wrong order (bottom-up);
there was even a TODO item for this...


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19801 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-01-14 23:29:23 +00:00
Axel Dörfler f39acd678c * Made vm_area_lookup() part of the kernel private API.
* "sc"/"where"/"bt" now prints the area where the function of the stack frame
  is located in case there is no other information (using the above function).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19800 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-01-14 23:26:20 +00:00
Axel Dörfler f4972679f7 * team::args was not correctly initialized in create_team_struct()
* even worse, in case of fork(), it was never initialized.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19799 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-01-14 23:22:49 +00:00
Axel Dörfler 647b1f70a5 * vm_copy_on_write_area() did not always correctly divide the ref_count of the
two cache_refs - it needs to count the consumers of the lower cache to find
  its actual number of references; the upper cache could still be in use by
  someone else.
* There were several locking bugs in the VM code; since cache_ref::cache can
  change, we must not access it without having the cache_ref locked.
* As a result, map_backing_store() now requires you to have the lock of the
  store's cache_ref held.
* And therefore, some functions in vm_cache.c must no longer lock the cache_ref
  on their own, but require the caller to have it locked already.
* Added the -s option to the cache/cache_ref KDL commands: it will only print
  the requested structure, and not its counterpart (useful if accessing one
  structure results in a page fault, as was possible previously).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19796 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-01-14 18:41:57 +00:00
Axel Dörfler f445b04baf * Fixed warnings in the VMware accelerant - GCC 2.95.3 cannot compare function signatures
without any argument specifier, and a(void); != a(); in C.
* Added the VMware graphics driver to the image.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19795 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-01-14 14:26:29 +00:00
Axel Dörfler 67d68c7766 Fixed wrong app version constant I introduced earlier.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19794 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-01-14 14:24:45 +00:00
Axel Dörfler 00d65a521d Added Eric Petit's VMware graphics driver - thanks!
Made the following changes from the version I got from Eric:
* made BppForSpace() in DriverInterface.h inline to remove some warnings
* renamed driver source files to lower case.
* removed Be Inc. copyright from kernel driver as I couldn't see anything coming
  from Be Inc. there - correct me if I was wrong, Eric.
* Minor other changes like added missing header guards.
* The README provided in the main directory is only included in the accelerant
  directory.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19793 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-01-14 14:16:06 +00:00
Axel Dörfler e57d2e1b09 * Applied patch by Vasilis Kaoutsis: added rdef file for all Haiku utilities.
* Updated coreutils.rdef to follow the same style as all other rdef files (or at least
  most of them).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19792 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-01-14 13:01:21 +00:00
Axel Dörfler 8edddbc0cf wait_for_thread_etc() didn't care when it could no longer find the thread it was
waiting for in case it was interrupted; but that could easily lead the thread_exit()
function to access invalid memory (and thus, crash the kernel): since we could not
remove our death entry from the thread, we have to make sure the thread (which might
still run even if not in the thread hash anymore) will access our death entry as
long as it is valid. IOW we must wait for the thread to delete its exit semaphore,
even if we were interrupted before.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19790 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-01-13 18:37:50 +00:00
Axel Dörfler ff718cafed * Maintain the vm_cache::virtual_size field in all cases.
* Fixed dumping the area list of a cache I broke with the previous commit.
* Minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19789 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-01-13 18:33:13 +00:00
Axel Dörfler 81d5ce45a8 * Merged "cache"/"cache_ref" commands, as you usually want to have all the info, anyway
(you can still use both commands, but you'll see always the same output).
* The cache_ref's area list now also prints the owner of the area.
* Added "-p" option to "cache"/"cache_ref" that will show the pages of the cache; if you
  omit it, it will now only present you a page counter.
* Nicer output for the commands above.
* Added "dl" to display memory in 64 bit values.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19787 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-01-13 17:24:40 +00:00
Axel Dörfler dc237c7990 ref_count should be vint32, as we're accessing it at least once directly.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19786 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-01-13 17:21:47 +00:00
Axel Dörfler dcadebae62 The "thread" debugger command now also prints out the thread exit waiters.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19785 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-01-13 17:13:50 +00:00
Axel Dörfler ce51da52b6 Added a kernel socket API module which exports the usual BSD socket API to kernel modules.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19783 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-01-13 13:18:54 +00:00
Axel Dörfler b129e4cee1 Another kernel bug less:
* send_signal_etc() (among others) used team::main_thread in an unsafe way; it is
  possible for a team to be part of the team list and a group without having
  a main thread very early in its creation process.
* Replaced most occurences of team->main_thread->id with team->id since the team
  always inherits the ID of its main thread in Haiku for quite some time now.
* Minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19781 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-01-12 22:54:21 +00:00
Axel Dörfler fa4858af26 Didn't notice that x86_enter_userspace() also copied the thread entry's arguments to
the userland stack in an unsafe way - moved that stuff to arch_thread_enter_userspace(), too.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19778 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-01-12 20:40:39 +00:00
Axel Dörfler dc688434ed * Added the possibility to pre-commit pages for areas that can overcommit.
* This is now used for userland stack - they now always pre-commit two pages, enough
  to initialize TLS and copy the user-thread-exit stub to that area.
* Minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19776 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-01-12 18:51:01 +00:00
Axel Dörfler 8fc075ac5c * There was no reason to copy the "userland calls exit_thread()" stub with interrupts
turned off - accessing userland memory. Now, arch_thread_enter_userspace() does that
  job, and as a result, may also fail.
* dump_thread() now directly prints the info of the current thread when used without
  argument (rather than iterating the thread list to look for the current thread).
* If arch_thread_init_tls() fails upon thread creation, the function will now return
  an error.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19775 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-01-12 18:26:32 +00:00
Axel Dörfler 7039ae3f3d Fixed warning.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19773 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-01-12 18:03:21 +00:00
Axel Dörfler d1b0be94b0 * Private and temporary vm_caches now maintain their new virtual_base field, which allows
them to commit substantially less memory (we we're committing about 40 MB (!) too much
  after a complete system boot). This means you'll run out of memory less likely now.
* fill_area_info() no longer filters out kernel protection flags - we may want to keep
  filtering them when called from userland, though, dunno.
* Added new debugger command "avail" which shows how much memory has been committed, and
  how much is regarded as free space.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19771 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-01-12 15:07:18 +00:00
Axel Dörfler 7ed5e61cdb arch_thread_init_tls() now accesses user memory safely, and therefore could now
fail.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19768 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-01-11 18:21:35 +00:00
Axel Dörfler 23bd6929dc Added the last of the companion fibo test apps (based on fork/exec - this is just
another test that doesn't work on BeOS, dunno why, but who cares...).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19767 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-01-11 17:00:30 +00:00
Axel Dörfler f9e49fed71 * Fixed fibo_load_image: it actually did not produce the fibonacci numbers.
* Implemented a fibo_fork which uses fork() instead.
* Both tests can pretty easily let the kernel crash!


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19764 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-01-10 10:33:01 +00:00
Axel Dörfler e90cdf4e48 fibo_load_image now notices if spawn_thread() fails, and puts a warning to stderr.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19763 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-01-10 10:02:46 +00:00
Axel Dörfler cdcb059571 * Renamed get_team_death_entry() to team_get_death_entry() and make it available
to other kernel components.
* wait_for_thread_etc() will now search the team's death entries in case the
  thread is already gone; also resume_thread() is now done later, and its return
  code will no longer matter (as we already have our death entry, no matter if
  the thread is gone now or not).
* The fibo_load_image test now works as expected (only tested with low numbers
  yet, though - the mean testing comes later (first comes functionality) :-))


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19758 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-01-09 23:58:59 +00:00
Axel Dörfler cbe5f24524 * Added fibo_load_image test based on Manuel's fibo test from NewOS - doesn't work yet
due to problems with wait_for_thread().
* Minor cleanup to the Jamfile.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19757 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-01-09 23:53:40 +00:00
Axel Dörfler 2d75f771bf Fixed minor ugliness (only visible on slow systems, such as Qemu): the mouse cursor
was drawn before the background got cleared.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19756 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-01-09 23:33:57 +00:00
Axel Dörfler 32e2879f10 We now ignore all memory beyond the 4 GB barrier in 32-bit mode.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19743 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-01-08 17:44:32 +00:00
Axel Dörfler 625f8abdb0 * The networking stack now removes all invalid interfaces during startup (those
where there is either no address or MAC address [ethernet only]).
* _ConfigureInterfaces() now notices if a network device that has a configuration
  is gone and memorizes this configuration.
* If a new device pops up, and there is an existing configuration for a device
  no longer available, that configuration will be used for the new device, allowing
  you to easily move your Haiku image to a new system without losing its network
  settings - it does not yet test if the IP address is already in use in the local
  network, though (in which case a configuration using DHCP would be preferrable).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19742 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-01-08 16:04:16 +00:00
Axel Dörfler de8a7c2680 * Introduced a reader_thread member to the private net_device_interface.
* When shutting down an interface, we now wait until its reader thread is gone, too;
  this is necessary in case the kernel unloads the networking stack before the reader
  thread had a chance to exit.
* Added some debug output to net_socket in case you ask for unknown options.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19741 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-01-08 15:41:56 +00:00
Axel Dörfler 86e355a227 Enlarged all memory range arrays to 6, just in case.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19740 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-01-08 12:14:58 +00:00
Axel Dörfler 3e161fb661 * Instead of its home-brewn solution, mmu_init() now uses the functions declared
in addr_range.h to add ranges to the arrays. This fixes the crashing bug reported
  by Larry Baydak.
* Added some more exported functions to kernel_args.cpp (prototypes are in addr_range.h).
* TODO: let the PPC/OpenFirmware implementation use those as well.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19739 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-01-08 12:14:06 +00:00
Axel Dörfler 4dbea1ffa8 Added another PHY provided by Bernd - thanks!
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19737 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-01-07 18:45:52 +00:00
Axel Dörfler 43cca04a9a Cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19731 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-01-06 18:06:38 +00:00
Axel Dörfler 83e805ad15 * Added a note that the flock() definitions are misplaced here.
* Some cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19728 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-01-06 17:25:52 +00:00
Axel Dörfler ccf137b886 BWindow::IsFront() was implemented incorrectly - we actually need to query the
app_server for this; added a new AS_IS_FRONT_WINDOW command for this.
For example, clicking on the menu bar to bring windows to front in FFM mode
does work now.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19725 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-01-06 17:08:19 +00:00
Axel Dörfler f0d2e76081 * Fixed missing "not" operator in all those flags changing lines; turning off the
screen is now working as expected.
* Only remove DPMS runners when the time is actually supported (previous code would
  not have always worked correctly in case the graphics card would not support all
  DPMS modes).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19724 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-01-06 15:50:26 +00:00
Axel Dörfler 167c61fce4 Turns out drawing text using the outline path always results in an endless loop.
Since I have no clue about AGG at this point, I just disabled rendering the glyphs;
instead, their bounding boxes will be shown.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19721 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-01-06 13:26:46 +00:00
Axel Dörfler ddcd53aaf0 * Instead of choosing the next thread if we skip one, we now choose the first thread
with a lower priority than the current one.
* Further reduced the probability to skip a thread to roughly 4%, that makes around
  13 skips per second, and about 40 msecs spend in lower priority threads per second
  (with a 3 msec quantum). Might still be too much, but we'll see.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19719 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-01-06 12:50:01 +00:00
Axel Dörfler 97ad772ada * Moved PXE page directory and page tables below the 1 MB limit.
* Minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19718 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-01-06 11:51:21 +00:00
Axel Dörfler 2a3ed81cf6 Our copyright string now says 2007 - I also updated it so that we don't have to
do this every year, just in case ;-)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19715 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-01-05 20:27:20 +00:00
Axel Dörfler 9640130c40 Removed the R5 icon from the kernel resources - it can only be compiled for Haiku.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19714 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-01-05 20:16:48 +00:00
Axel Dörfler 9310654a00 You must not delete a running looper - you have to quit it.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19713 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-01-05 19:54:35 +00:00
Axel Dörfler 2ca64e4886 Minor cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19712 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-01-05 19:53:45 +00:00
Axel Dörfler 92870c3b39 We always handled signals as if their SA_RESTART flag was set - but that's not
the default case.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19711 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-01-05 19:27:48 +00:00
Axel Dörfler 4621a82e74 Our scheduler skipped over threads in about 30% of all cases - that's a bit much; it's
not a penalty to be the first thread in the run queue...
I've reduced it to about 12.5%, but that might still be too much.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19710 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-01-05 19:01:09 +00:00
Axel Dörfler 1130b709ac Tracker now uses the name of the symlink for add-ons, instead of resolving it first.
This fixes bug #602.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19704 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-01-04 23:04:20 +00:00
Axel Dörfler 7acd0ef0b0 Now makes sure that the other sliders are updated on keyboard input as well.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19700 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-01-04 15:36:22 +00:00
Axel Dörfler 23dac09ac1 * fEnabled is now maintained correctly, so that a screen blanker is now also quit
by _Banish() (never happened before).
* Instead of sending a new message for every mouse move in a corner, we now keep
  one BMessageRunner around and only update its interval; we now also check the
  time with no events in CheckCornerInvoke() - this both makes sure that the screen
  is not blanked while there is still user activity.
* The screen saver never worked if you didn't set the never-blank corner to something.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19699 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-01-04 15:29:52 +00:00
Axel Dörfler 8b11e3b15d * Changing any of the sliders will now cause the settings to be saved.
* The TimeSlider now sends an update message for ongoing changes, and an
  invokation message when the mouse button was released (standard BSlider
  behaviour).
* Fixed incorrect initial string when the screen saver should start after
  30 seconds of inactivity.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19698 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-01-04 14:27:05 +00:00
Axel Dörfler fb29f5b0fb Changes to let updates happen less frequently:
* _ContrainPoint() was broken as it could never change the point it was supposed
  to contrain.
* MouseDown() no longer sends a notification message automatically (only if it
  changed something)
* MouseMoved() and synchronous MouseDown() will now only send modification messages
  if something actually changed (not for every mouse update).
* After key presses, the invokation message is only sent when the value changed.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19697 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-01-04 14:25:13 +00:00
Axel Dörfler efe7244436 Added a comment that should make clear my last accidental commit doesn't fix anything.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19696 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-01-04 12:32:44 +00:00
Axel Dörfler c6f9f65dff At least temporary fix for the Deskbar not updating additional items (unless you resize it).
The problem was that the view's screen clipping was not updated if its frame did not change
because of a resized parent - but that might be needed if the new parent frame reveals a new
portion of that view.
I added a TODO so that if there is a way to test for this case, we only need to invalidate
the clipping if really needed. For now, we always do it.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19695 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-01-04 12:28:31 +00:00
Axel Dörfler 3a4269fb0e Removed ACPI module for the time being - it doesn't give us anything yet, and seems
to make lots of problems (like spawning threads from an interrupt handler...).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19693 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-01-04 09:47:08 +00:00
Axel Dörfler 6b97dd4e51 Looks like DrawingEngine::ContrainClippingRegion() no longer copies the region
passed in, but references it. This broke drawing the workspaces window background.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19689 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-01-03 16:36:04 +00:00
Axel Dörfler 8959497d14 * Since we don't have a terminfo database installed, we need to enable termcap
support. "ftp" will now accept the terminal type beterm, even though our
  /etc/termcap file causes ncurses to print some warnings.
* Unlike BeOS, we do have stdbool.h, so we should use it.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19675 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-01-02 01:43:11 +00:00
Axel Dörfler 769cb28ffb We already link against libncurses.a - no need for libtermcap.a as well.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19674 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-01-02 01:39:18 +00:00
Axel Dörfler e460ec053f Added support for IP_TOS and IP_TTL options.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19673 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-01-02 00:16:32 +00:00
Axel Dörfler af3a31f770 Calmed down the networking stack a lot - since it basically works, there is no
reason to slow it down with debug output that much; this will also help investigating
some issues where you just aren't interested in most of the output.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19672 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-01-01 22:10:43 +00:00
Axel Dörfler 10f5cebea3 Added temporary possibility to dump a net_buffer via the buffer module.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19671 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-01-01 19:09:57 +00:00
Axel Dörfler b35c5f9481 No longer deny starting in safe mode - the Bootscript is supposed to do that already.
This way, we can still bring up the net in safe mode manually.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19667 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-01-01 18:09:20 +00:00
Axel Dörfler 806dfb98ff * Connect() now sets the initial send queue sequence before calling _SendQueued()
so that it's already correct at this point (even though it's currently not
  possible to queue data before connecting, it might be in some point in the future).
* ListenReceive() did not initialize the initial send queue sequence of the new
  endpoint correctly; it took the values from the wrong endpoint (itself).
* Suppressed the debug output "FIN ack'd" when the connection was not even established
  yet.
* Minor debug output improvements.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19666 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-01-01 16:25:19 +00:00
Axel Dörfler c304c8ee1a Added some more (optional) debug output.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19665 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-01-01 16:18:35 +00:00
Axel Dörfler 16aceec16e Put the new server into its own session.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19664 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-12-31 16:33:21 +00:00
Axel Dörfler c30e35eb9b Actually launching services should work now:
* ServiceSocketMap now maps directly to service_address objects which now have
  gotten a pointer to their owner.
* now uses listen(), and accept() for SOCK_STREAM sockets
* fMinSocket could be wrong.
* use FD_CLOEXEC on all sockets, and the communication pipe.
* removed unused service::type and service::protocol.
* if no family is specified, we now default to AF_INET.
* uses fork()/exec() to actually spawn the servers to not clobber the net_server's
  input/output streams.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19663 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-12-31 16:21:19 +00:00
Axel Dörfler 4684dfec2d socket_connected() now notifies waiting selects().
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19662 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-12-31 15:45:10 +00:00
Axel Dörfler 8652d8f33a * return_address() now accepts a NULL address pointer without returning an error.
* NET_STACK_GET_COOKIE copied the wrong data, always returned the socket instead of
  the cookie (which is NULL at this point, anyway). Note that this mechanism is only
  temporary anyway, as it's highly unsafe.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19661 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-12-31 15:42:19 +00:00
Axel Dörfler e19a0bfa1b Could not connect locally anymore, as fSendNext and fSendMax must be set before
the segment is sent in this case (as receive/send will currently stack up in a
single thread).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19660 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-12-31 14:27:12 +00:00
Axel Dörfler 22e7921700 Build fix after the latest changes in net_socket.h (moving certain parts into a
private struct).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19659 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-12-31 12:15:04 +00:00
Axel Dörfler 6d23dfa6c0 Build fix for non-Haiku targets.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19658 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-12-31 12:14:25 +00:00
Axel Dörfler 7f77e4bd76 Applied patch by Vasilis Kaoutsis:
* removed directive #include <cstdlib>
  removed directive #include <cassert>
  Removed also the use of assert()
  as BAlert::Go() returns always 0, or 1, or 2.
  renamed cstring to string.h
  and cstdio to stdio.h since
  our coding style prefers C-style headers.
* Merged the two classes to AlertApplication since
  i see no reason to have them both.
* removed some getter functions and used the
  private data members instead, since this doesn't
  break the "hide the implementation details rule" (i think).
* Modified Signature application from
  "application/x-vnd.OBOS.cmd-alert" to
  "application/x-vnd.Haiku.cmd-alert"
* Make some defines const char* and int32
  according to the corresponding types.
* Changed AlertApplication::SetChoice(const int32 but)
  to AlertApplication::SetChoice(int32 buttonIndex).
* The usual coding style clean-up (tabs, spaces, etc).
* Added documentation for more readable code here and there;
  and doxygen style documentation for two functions:
  AlertApplication::ArgvReceived(int32 argc, char** argv)
  and AlertApplication::ReadyToRun()
* Add myself to the authors' list, since that makes good
  to my psycology, and makes me more productive!


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19655 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-12-29 11:29:00 +00:00
Axel Dörfler ef33454cfd * Reverted my change to AddFileDataResource - I obviously missed someone's intentions :-)
* Added a comment about the proper use of the data-file argument.
* Applied Ingo's suggestion to the Jamfile, and it worked out of the box.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19649 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-12-28 21:28:17 +00:00
Axel Dörfler b5a8a89b5d * Removed the debugger() call when the input_server couldn't be started - it's not
a critical error, and definitely no reason to take the server and all GUI apps
  down. You could also still log in remotely.
* Now opens and uses the syslog in some rare cases (should become the primary error
  channel over time).
* Minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19646 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-12-28 14:11:08 +00:00
Axel Dörfler c42ca72638 Work-in-progress on the "services" implementation: it now reads the configuration
message, parses it, and stops/starts the services as needed - it doesn't launch
any actual servers yet, though.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19645 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-12-28 13:58:58 +00:00
Axel Dörfler c8c228ca64 * Renamed lcl_sv.c to lcl_sv.cpp (local services) to be able to use the
C++ API functions.
* Made some internal headers C++ safe.
* Cleaned up lcl_sv.cpp to only contain what's actually used (in particular,
  the IRS_LCL_SV_DB stuff is gone).
* Wrote a basic "services" file and put it into libnetwork.so's resources.
* Updated lcl_sv.cpp to look into the resources if /etc/services doesn't exist.
* Removed the "quasipublic" status of irs_lclsv_fnxt() and made it private.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19644 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-12-28 13:54:04 +00:00
Axel Dörfler 7288922282 Removed $(dataFile) from file name of the resource - this allows to put your
resource data files into subdirectories; the resource ID is supposed to be unique, anyway.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19643 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-12-28 13:49:51 +00:00
Axel Dörfler fc398fa2ab * Added "services" to the network settings, and refactored the settings class a bit
to be easier extendable with more classes.
* Fixed a bug in the settings that caused updated settings to be appended to the
  existing ones (missing BMessage::MakeEmpty()).
* Started services system, doesn't do anything useful yet (inetd replacement).
* Fixed the bug that caused the loopback default netmask to be incorrectly chosen;
  removed the temporary fix Bruno introduced before. The same bug has been in
  ifconfig where I copied the code from (but wrote it there, too) :-).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19609 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-12-22 20:53:08 +00:00
Axel Dörfler 206df9cd04 Removed choice of separator style - there is only one to rule them all, now.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19606 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-12-22 11:17:16 +00:00
Axel Dörfler 5a93dff747 Made ColorWindow font sensitive.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19605 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-12-22 11:15:05 +00:00
Axel Dörfler ce0998ad77 * Fixed many style issues, patch by Vasilis Kaoutsis
* Fixed some more style issues, removed unneeded class member variables.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19604 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-12-22 11:05:17 +00:00
Axel Dörfler d2de13bdd4 The boot loader (BIOS IA32 only) now chooses the default video mode by looking at the
EDID info from the monitor if available through VESA/DDC.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19588 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-12-21 14:20:17 +00:00
Axel Dörfler 9a4b4c617b * Fixed warning.
* Now using the new %f flag to print the level of support.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19584 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-12-21 12:12:50 +00:00
Axel Dörfler dedf1bccfe Since we're using floating point values at several places in the kernel, I added
a very simplistic floating point output routine to snprintf() and friends, for
your convenience.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19583 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-12-21 12:05:16 +00:00