Commit Graph

50080 Commits

Author SHA1 Message Date
Pawel Dziepak
744dfa3c4c kernel: make sure thread priority is within valid range
The scheduler expects that all threads expect the initial idle threads
have priority in range [THREAD_MIN_SET_PRIORITY, THREAD_MAX_SET_PRIORITY].
If the requested pririty is out of range the value is clamped. Failing
with B_BAD_VALUE is probably an overkill since there isn't any real
change in the guarantees provided by the scheduler about the behavior
of such thread. Also, BeBook suggests that spawn_thread() can specify
priority 0.
2014-04-18 23:55:18 +02:00
Ingo Weinhold
2d91773d2e Adjust packagefs ioctl interface to support old states
* PackageFSVolumeInfo: Add the directories for all relevant states.
* PackageFSPackageInfo: Include the package file's parent directory node
  ref.

Package daemon and package kit still don't support old states yet.
2014-04-18 23:31:40 +02:00
Ingo Weinhold
5d55f327ed packagefs: Initial support for booting into old states
If an old state is specified via mount parameters we load the packages
as specified in its activated-packages file.

The interface for the package daemon, the package daemon itself, and
the package kit are still to be adjusted, so ATM some PM components
might be a bit confused when an old state was booted.
2014-04-18 23:31:40 +02:00
Ingo Weinhold
6b3a5caf99 VFS: Pass packages state selected in boot loader to packagefs 2014-04-18 23:31:40 +02:00
Ingo Weinhold
8585939dca VFS: Don't try to mount the no longer existing /boot/common packagefs 2014-04-18 23:31:40 +02:00
Ingo Weinhold
5c0f8450ac Boot loader: Add support for choosing an old packages state
For potential boot volumes with older packages states the respective
item in the boot volume menu now has a sub menu for selecting a state.
The boot loader functionality for this feature is complete -- i.e. the
respective kernel is loaded and the name of the old state is added to
the kernel args -- but kernel packagefs and package daemon support is
still missing.
2014-04-18 23:31:39 +02:00
Ingo Weinhold
59881eaa16 Boot loader: Update copyright right in boot menu 2014-04-18 23:31:39 +02:00
Ingo Weinhold
59ae1c816d Boot loader: Add get_stat(), directory_from()
* Add Node::Stat() and simplify Descriptor::Stat().
* Add get_stat() and directory_from().
2014-04-18 23:31:39 +02:00
Ingo Weinhold
2f019bd6ca boot loader: Implement subset of <dirent.h> API
* Add opendir(), closedir(), readdir(), rewinddir().
* Add open_directory(), similar to opendir(), but basing the path off a
  specified directory.
2014-04-18 23:31:39 +02:00
Ingo Weinhold
09c07e4c5c packagefs: PackagesDirectory: Use node_ref 2014-04-18 23:31:38 +02:00
Ingo Weinhold
211c21a592 packagefs: Add support for node_ref 2014-04-18 23:31:38 +02:00
Ingo Weinhold
dff8d2ea22 packagefs: Package: Use PackagesDirectory directly
... instead of Volume. Necessary to support using packages from
different directories.
2014-04-18 23:31:38 +02:00
Ingo Weinhold
aeb6fc9eca packagefs: Move Volume::PackagesDirectory to top level
Also make it a BReferenceable and fix Volume::fPackagesDirectory leak.
2014-04-18 23:31:38 +02:00
Adrien Destugues
586f1aeea2 Add yab and yab_ide to the repo. 2014-04-18 18:57:19 +02:00
Adrien Destugues
34828f7346 Be more flexible in identifying HTML files
Some tests in WebKit have no <html> and no <head>...
* Allow "<style", "<script", and "<a href" to identify HTML
* Scan up to 256 characters instead of 64
* Also remove the rule identifying "<!--", because this really isn't html
specific.
2014-04-18 18:21:04 +02:00
Jérôme Duval
607a620b1c qrencode: use outsourced package
* qrspec.h isn't yet part of the package for some reason.
* removed qrencode from the bootstrap package.
* only include qrencode when the qrencode package is found.
* didn't check qrencode itself, tests welcome.
2014-04-18 18:10:57 +02:00
Jérôme Duval
3860a01487 add packages for qrencode 2014-04-18 17:54:02 +02:00
Jérôme Duval
4a4450c158 less: sysless config file is part of the hpkg.
* remove in-tree sysless config gen.
2014-04-17 23:20:32 +02:00
Jérôme Duval
29a4992cda less: rebuild x86 and x86_64 packages. 2014-04-17 07:28:36 +02:00
Rene Gollent
b37b0177e6 Update gcc, cmake and haikuwebkit packages for x86. 2014-04-16 18:37:21 -04:00
Jérôme Duval
1a8c694443 less: use the outsourced packages.
* added packages for x86 and x86_64.
2014-04-17 00:03:28 +02:00
Adrien Destugues
0c119984fa Require SVG files to start with <?xml tag
* Makes scanning faster
* Avoids mistaking some html files with embedded SVG as SVG files
2014-04-16 08:39:41 +02:00
Adrien Destugues
840839b546 In jam, unset variables aren't equal to 0
Make our Werror check work again with gcc.
2014-04-15 09:17:57 +02:00
Adrien Destugues
3eff063958 WebPositive: let escape close the menu.
* Intercept the escape key to mean "stop loading" only when menus are
closed.
2014-04-15 09:17:56 +02:00
Jérôme Duval
8df3fb7035 Remove outsourced sharutils provides from haiku package. 2014-04-14 23:52:45 +02:00
Jérôme Duval
eb763779e3 sharutils: use the hpkg.
* delete the intree sources.
2014-04-14 22:52:58 +02:00
Jérôme Duval
a8ffdaa92a added sharutils and unrar, updated flex. 2014-04-14 22:33:13 +02:00
Jérôme Duval
cab97c32f8 x86_64: upgrade mercurial.
* this version depends on python-2.7
2014-04-14 19:34:51 +02:00
Gerasim Troeglazov
d68289f7ae NTFS: Update libntfs to 2014.2.15 2014-04-14 11:35:50 +00:00
Adrien Destugues
02cdea9f9d BTab: use ControlLook to draw label.
* Supports disabled tabs like BeOS did: label is drawn with disabled
color, but can still be selected.
2014-04-12 11:37:45 +02:00
Adrien Destugues
4991d3fb52 Fix build. 2014-04-12 09:32:43 +02:00
Adrien Destugues
9b1f41b9c1 AddOnManager: remove more annoying traces. 2014-04-12 08:57:28 +02:00
Adrien Destugues
cfc4b62367 Network Kit: Prepare for HTTP range requests
* The DataReceived hook gets a position argument, making it possible for
listeners to handle out-of-order data (from two range requests at
different positions, for example)
* Adjust HaikuDepot (only user of the API in our sources)
* Add a copy constructor to HTTPRequest that copies the relevant
parameters from an existing request. Makes it easy to repeat a request
with a different range. Could be useful for restarting downloads, or
paralellizing them.
* Add SetRangeStart, SetRangeEnd calls to HTTPRequest, no implementation
yet. I'm putting all the API changes in this commit as it needs to be
synced with a matching haikuwebkit release.
* All archs must update to HaikuWebkit 1.3.0. Previous versions are
broken by this.
2014-04-12 08:57:26 +02:00
Adrien Destugues
ba65f39ac3 Update HaikuWebkit to 1.3.0. 2014-04-12 08:57:25 +02:00
Adrien Destugues
5ba7abf8f2 AddOnManager: remove useless traces
These were acceptable in media kit log, but are only annoying now that
the AddOnManager is ran in applications. Moreover, these get to stdout
and make some WebKit tests fail.
2014-04-12 08:57:23 +02:00
autonielx
0af1fbb3b7 Update translations from Pootle 2014-04-12 06:19:04 +02:00
John Scipione
ebd3bcdb9b exfat: handle 4-byte UTF-16 surrogate pairs
... in filenames. Replace the existing Unicode conversion functions
with UTF conversion functions from js that he relicensed MIT for us.

Put the UTF conversion functions in a private but shared code location
so that they can be accessed throughout the kernel.

Right now we only provide functions to convert between UTF-8 and UTF-16.
At some point we should also add functions to convert between UTF-8 and
UTF-32 and UTF-16 and UTF-32 but these aren't needed by exfat.

Remove the old Unicode conversion functions from exfat as they assumed
UCS-2 characters and don't work with UTF-16 used by exfat.

Rename most variables with the term length with code unit where code units
are intended. The term length, when used, means length in bytes while code
units represent either a full 2-byte UTF-16 character or half a 4-byte
surrogate pair.
2014-04-11 18:46:03 -04:00
Jérôme Duval
f13c2249b2 scsi_periph: fixed an "unused" warning. 2014-04-11 15:42:25 +02:00
John Scipione
1520fffa4f Time prefs: Use button label symbols & relayout
Add becomes +, Remove becomes −, the current button labels "Add" and "Remove"
are used as tool tips. Relayout the controls so that they fit nicely with the
buttons:

The add button is placed left of the server text control showing that it
adds new server names while the remove button is placed next to the list
view showing that it removes server names from the list.

The reset button is placed next to the "Synchronize" button at the bottom of
the tab group and is renamed "Reset to default server list".

This makes the window a bit taller.
2014-04-10 17:27:38 -04:00
John Scipione
deda8cad48 Time prefs: Set text colors in constructor 2014-04-10 17:27:37 -04:00
John Scipione
15cc2a1fad Time prefs: Set pointer NULL, delete in destructor
... avoiding potential memory leak.
2014-04-10 17:27:37 -04:00
Adrien Destugues
f325986993 FileRequest: identify unknown files.
* WebKit testsuite relies on the MIME types being correct, so when the
file doesn't have one, try to identify it.
* May be useful for other apps using FileRequest, anyway.
2014-04-10 08:51:00 +02:00
Adrien Destugues
a8d8e823ea HttpRequest: handle 302 and 307 redirects.
* Makes jamendo.com player work, as their soundfiles are behind a
temporary redirect for load balancing.
2014-04-10 08:50:59 +02:00
Adrien Destugues
d946ade025 ffmpeg: declare support for webm and 3gpp.
* Decoding works on the videos I tested with.
* Some videos on Youtube use these formats.
2014-04-10 08:50:57 +02:00
Adrien Destugues
41a807ec64 XHTML sniffing rule: handle utf-16 documents. 2014-04-10 08:50:56 +02:00
Adrien Destugues
a68efa7326 Add a mime type for XHTML and make Web+ the preferred app.
* WebPositive testsuite relies on the mimetype to parse xhtml files.
* This has a higher priority than HTML, because it is more reliably
detectable
* Uses the same icon as html and mhtml. Who wants to draw new ones?
2014-04-10 08:50:55 +02:00
Jérôme Duval
6fd00f80e8 scsi_periph: implemented VPD inquiry.
* declared block limits and logical block provisioning structs.
* based on SPC-4 and SBC-4 standards.
2014-04-09 20:40:11 +02:00
Pawel Dziepak
91810926dc scheduler: Fix and simplify thread migration logic in low latency mode
This patch remove the old thread migration logic which used few special
cases and (broken) general check that attempted to balance threads.

The new logic is pretty straightforward and seems perform well without
any additional special cases. Current core is compared with the least loaded
one and the thread is migrated if that would result in estimated loads of
both cores (i.e. the current one and the least loaded one) to become closer
to the average load (i.e. average of that two cores).
2014-04-09 03:24:34 +02:00
Pawel Dziepak
1bba129c56 scheduler: Let ThreadData::ShouldRebalance() choose the actual core
Currently, ThreadData::ShouldRebalance() (and mode specific functions
it calls) only decides whether to migrate thread to another core or not.
However, in most cases it actually needs to find the best candidate for
new core so it could as well return that information.
2014-04-09 03:24:34 +02:00
John Scipione
e439b00397 Fix button label position, try number 2
Create and use BLayoutUtils::AlignOnRect() to position the button label
in BControlLook::DrawLabel().

AlignOnRect(), unlike AlignInFrame(), provides the possibility to return
a rectangle with dimensions greater than the available size.

Add some comments above the methods in LayoutUtils that indicate such.

Also update copyright headers in LayoutUtils and ControlLook
2014-04-08 14:10:10 -04:00