Commit Graph

35779 Commits

Author SHA1 Message Date
Axel Dörfler
74a4c33fda * Implemented a way to preserve header data while passing along a buffer to the
upper layers: you use the store_header() function to mark the header you want
  to preserve. All subsequent remove_header() calls won't claim the actual
  data, but only move the node start around.
* This header can then be restored by restore_header(). However, a call to
  prepend_data() will destroy the stored header. Also, if remove_header() cuts
  off a whole node, restoring the header won't succeed anymore.
* Discarded the no longer needed net_buffer::network_header field.
* Also discarded the hoplimit field which temporarily breaks the IPv6 build
  until Atis reworks it.
* IPv4 now also dumps the IP header in the send path if debug output is enabled.
* icmp_error_reply() might be called so early that the net_buffer's addresses
  do not point to the reply address; this is now detected, and the addresses are
  taken out of the IP header in that case.
* Improved dumping the net_buffer to also include its address, and flags.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37688 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-07-22 12:26:46 +00:00
Ingo Weinhold
e82b1340a7 * checksumfs_lookup(): The flags return parameter was never set, leading to
weird behavior when running in kernel.
* checksumfs_io(): Try to lock with timeout when the request is VIP. This
  works around a potential quasi-deadlock: Most write support FS hooks
  potentially allocate memory (e.g. in block_cache_get*()) while holding a
  write lock to a node. When memory is low they have to wait for pages to
  become available. The page writer might block on such node which in turn
  would prevent modified pages from becoming eligible for recycling. Should
  only in rare low memory cases have led to a problem.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37687 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-07-22 12:20:45 +00:00
Axel Dörfler
2baeb60077 * Fixed the application to actually take the host argument into account, sigh.
* Cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37686 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-07-22 12:09:44 +00:00
Ingo Weinhold
6fc498dafd Added ReadLockWithTimeout().
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37685 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-07-22 11:50:15 +00:00
Ingo Weinhold
3555a42f18 Typo in debug output.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37684 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-07-22 11:49:50 +00:00
Ingo Weinhold
539ec8ff1e * File::_UpdateLevelInfos(): Fixed child count computation. Was incorrect (0)
for multiple of kFileBlockMaxCount block counts.
* File::_GrowTree(): The inner loop of the level addition part was bogus.
  Apparently I never tested with files >= 2 MB before.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37683 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-07-22 11:49:28 +00:00
Ingo Weinhold
5cdadcae91 page_writer(): Fixed the pagesSinceLastSuccessfulWrite computation. Only the
skipped pages were added, not the failed ones.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37682 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-07-22 11:40:18 +00:00
Ingo Weinhold
2ab433ba90 * PageWriteWrapper::Done(): Returns whether the page was successfully written,
now.
* PageWriterRun::Go(): Returns the number of pages that could not be written.
* page_writer()/next_modified_page():
  - Don't use a marker page anymore. A visited page is requeued at the tail.
    This also makes the functions that schedule pages work a bit better (they
    queue the pages at the head of the queue).
  - Have an eye on pages that are busy or failed to write. If we ran through
    the whole modified queue without writing a single page, sleep for a short
    time. This mitigates the busyness the page writer falls into when there
    are enough modified pages to make it run all the time but none that can be
    written successfully.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37681 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-07-22 11:32:42 +00:00
Ingo Weinhold
4e08fb8589 Added rw_lock_read_lock_with_timeout().
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37680 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-07-22 11:10:48 +00:00
Ingo Weinhold
b349aae941 Should have been part of r37678. io_request_is_vip() support.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37679 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-07-22 11:09:32 +00:00
Ingo Weinhold
0a1dabca7e Added public io_request_is_vip(), returning whether the given request has the
VIP flag set.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37678 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-07-22 11:08:34 +00:00
Adrien Destugues
ab58e877e8 * Notify the TimeView in Deskbar when a locale change occurs, so it can update its size.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37677 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-07-22 09:13:47 +00:00
Stephan Aßmus
df2945b3c5 "-O20" GCC flags should have been bogus. As far as I know, we are already
compiling with "-O2". Fixes ticket #6303.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37676 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-07-22 07:15:59 +00:00
Rene Gollent
18d379a812 If the message didn't already contain the short/long time format, they would never get added to the update message since ReplaceString won't add if the name specified doesn't already exist. Fixes locale settings for time format not propagating properly.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37675 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-07-22 01:11:43 +00:00
Oliver Tappe
8ab6671aad * reverted r37669, as gcc4 enables wchar_t-related template types, but
then fails to build them because of wcsftime() missing
Needs more investigation ...


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37674 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-07-22 00:02:40 +00:00
Oliver Tappe
8c28b85ef3 * one more Werror-related build fix for bluetooth
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37673 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-07-21 23:30:32 +00:00
Oliver Tappe
0ea1aab28a * fixed a couple of regressions of r37670 concerning optional build targets
(bluetooth, ac3_decoder, netfs)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37672 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-07-21 23:10:57 +00:00
Matt Madia
0041b38214 Added some much needed echo statements about the scripts progress.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37671 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-07-21 23:07:52 +00:00
Oliver Tappe
eddec292d5 * applied patch by kaliber that fixes more than 100 warnings - thanks a lot!
Closes #6349

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37670 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-07-21 21:43:20 +00:00
Oliver Tappe
887a1066e4 Fix that should have been part of r31927:
* uncommented fwscanf() in wchar.h to make it available
As a result, the next build of gcc4 should be able to detect full support for wchar_t and in turn activate wchar_t-based template types (like std::wstring).

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37669 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-07-21 20:11:48 +00:00
Joachim Seemer
f4ba1419da The OverlayImage window now gets activated after a drop of an image. Saves another click before being able to drag the Replicant handle.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37668 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-07-21 18:22:34 +00:00
Adrien Destugues
655cb1d870 * Make the locale settings apply immediately when the user clicks on something rather than on preflet close.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37666 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-07-21 18:02:57 +00:00
Joachim Seemer
74baa1d7f1 Added Pengfei Han (kurain) for the Chinese translation. Thanks.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37665 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-07-21 18:01:59 +00:00
Adrien Destugues
719313afdd * Missing from the previous commit. Sorry ! Thanks to luroh for watching.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37664 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-07-21 17:49:00 +00:00
Adrien Destugues
9a78a691f8 * Locale Roster : add a function to update the settings from a BMessage
* Locale preference : send such a message broadcast to all applications when the settings are changed
 * Deskbar : receive the message and forward it to the locale roster. This way the time display on the deskbar changes as 
soon as you close the locale preflet.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37663 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-07-21 17:04:28 +00:00
Ingo Weinhold
4bfbcb535d checksumfs_io(): We are responsible for calling notify_io_request() when we
decide to fail for some reason.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37662 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-07-21 16:32:59 +00:00
Axel Dörfler
0a0bed1c7b * Improved debug output; ipv4 will now dump the whole header if TRACE_IPV4 is defined.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37661 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-07-21 16:23:38 +00:00
Axel Dörfler
68d1b69012 * Fixed broken decode function. I wonder how that one could have been missed
before...


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37660 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-07-21 16:13:51 +00:00
Joachim Seemer
facb1eb9ad Update of the user guide and its translations.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37659 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-07-21 15:52:50 +00:00
Ingo Weinhold
fb2d716a99 Added support for using underlying devices -- we need to get the size with
the B_GET_GEOMETRY ioctl instead.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37658 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-07-21 15:29:29 +00:00
Adrien Destugues
403859d79f * Fix a string that was unpractical and confusing for translations.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37657 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-07-21 15:28:30 +00:00
Ingo Weinhold
8cb1303cfa * Cleaned up debug output.
* _AllocateInGroup(): Fixed incorrect checks. The allocation group counts the
  free, not the used blocks.
* _AllocateInBitmapBlock(): Fixed allocation loop. It was neither incrementing
  the array pointer, nor resetting the bit offset.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37656 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-07-21 15:28:03 +00:00
Ingo Weinhold
1e7497da42 Debug output.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37655 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-07-21 15:23:46 +00:00
Ingo Weinhold
4701667eb2 Get{Writable,Zero}(): Fixed return values. The type is bool not status_t.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37654 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-07-21 15:23:29 +00:00
Ingo Weinhold
94b89e4bcc Debug output.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37653 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-07-21 15:16:36 +00:00
Adrien Destugues
48287f3d7f * Set the default country when closing the preflet.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37652 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-07-21 15:00:08 +00:00
Axel Dörfler
2bb43d8246 * First (untested) steps into ICMP support for UDP: we should send port
unreached ICMP messages now, and at least signal an error to select() (there
  is no mechanism yet to actually forward the error to userland).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37651 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-07-21 14:57:28 +00:00
Axel Dörfler
fcea1b1665 * ICMP now removes its header before passing the error on to the upper levels.
* Therefore, IPv4 no longer needs to mess with that (incorrectly, anyway).
* Removed unused include, turned off ICMP debug output.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37650 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-07-21 14:54:24 +00:00
Adrien Destugues
82a115e8bc * BCountry : add copy constructor and assignment operator
* The locale roster uses them instead of messing with pointers, to avoid ownership problems
 * The Locale preflet works on a copy of the default country instead of altering it directly


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37649 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-07-21 14:09:48 +00:00
Axel Dörfler
aea00dc3bc * deliver_multicast() now returns whether or not it delivered the buffer,
instead of always returning B_OK.
* deliver_multicast() now takes the protocol restriction of a raw socket into
  account.
* raw_receive_data() now correctly returns whether a buffer was delivered (due
  to the protocol restriction, this wasn't the case before).
* ipv4_receive_data() leaked all multicast buffers.
* Some minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37648 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-07-21 13:11:58 +00:00
Axel Dörfler
1978fb81ee * First part of ICMP support: this is based on the work by Ivo Vachkov (GSoC
2007), and Yin Qiu (GSoC 2008). And even though I needed to rewrite pretty
  much all of it because of the countless bugs and problems it had, it still
  shares the same architectural problems of introducing a domain dependent
  error mechanism to the upper layers, and needing the
  net_buffer::network_header hack. This I will rework later.
* net_buffer's append_size(), and prepend_size() will now gracefully handle
  buffers without a data node.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37647 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-07-21 12:00:27 +00:00
Axel Dörfler
f6a57629c3 * Cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37646 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-07-21 11:23:42 +00:00
Axel Dörfler
866e21d3a6 * Moved DatagramSocket::Socket() up to its parent.
* Some cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37645 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-07-21 11:22:54 +00:00
Adrien Destugues
5d498edbb5 * Removed registering of non-existing application as preferred for catalogs.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37644 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-07-21 10:36:32 +00:00
Adrien Destugues
ec9d39b1eb * Locale Roster : exclude the "gcc4" and "gcc2" folders when searching for add-ons. Avoids an useless debug message.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37643 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-07-21 10:34:06 +00:00
Adrien Destugues
2aeaae9988 * Locale Roster : store an instance of BCountry instead of replicating all of its intrnals and creating instances on demand
* Locale preflet : save the time formats to the settings file if they are different from the defaut.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37642 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-07-21 10:12:59 +00:00
Ingo Weinhold
8f6bf75670 * Resize(): Resize the file cache before trying to fill the added space with
zeroes.
* Compute and propagate the check sums of the written file data to the
  underlying device.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37641 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-07-21 09:58:48 +00:00
Ingo Weinhold
83f46ed6ab file_cache_write() can get a NULL buffer and still a size != 0, which the
request handling wasn't taking into account.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37640 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-07-21 09:55:04 +00:00
Ingo Weinhold
9bc87c767b Block does now register writable blocks with Transaction. On commit
Transaction sets the check sums for the changed blocks on the underlying
device, respectively reverts them on roll-back.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37639 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-07-20 23:21:26 +00:00
Ingo Weinhold
8d591ecc41 * Added CHECKSUM_DEVICE_IOCTL_GET_CHECK_SUM ioctl.
* Added some debug output.
* CheckSumCache::_GetBlock(): Fixed incorrect check. The method could return
  an arbitrary block.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37638 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-07-20 23:16:46 +00:00