Commit Graph

23185 Commits

Author SHA1 Message Date
Ingo Weinhold
4eb3560949 * Added real, effective and saved set- user and group IDs to the team
structure. They are properly inherited and updated on
  fork(), load_image(), and exec().
* Implemented the get[e]{u,g}id(), set[[r]e]{u,g}id() family for real.
* getgroups() also calls the kernel now, but only returns the effective
  group ID. Supplementary groups support is still missing.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24359 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-11 17:12:02 +00:00
Ingo Weinhold
1149e982f0 Left over debug output.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24358 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-11 17:00:55 +00:00
Axel Dörfler
313492b63f * Moved connection retrieval code into its own function.
* Extended it to support long format as well.
* Extended it to support ranges of widgets (I didn't find those in the standard,
  but the FreeBSD and Linux drivers implement them, and my laptop even makes
  use of them, too).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24357 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-11 15:51:48 +00:00
Ingo Weinhold
4b7baaba0f Added optional kernel tracing for the userland memory allocator.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24356 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-11 01:35:30 +00:00
Axel Dörfler
4b83262008 * _Realloc() did not initialize the reference count either.
* _Alloc() can now preserve the original reference count, only _Clone()
  still initializes it to 1. As Karsten pointed out, this is necessary to
  preserve the "shareable" status of the private data.
* I hope that's finally it. What happened to our testing suite, anyway? :-)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24355 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-10 22:56:27 +00:00
Stephan Aßmus
ffac272e35 Used the new mechanism/options in the DrawingEngine with regard to
back to front copies in Window for updates. When in an update session,
any back to front copies are turned off. When the update session ends,
the whole region is copied at once. This has two effects: For once, it
avoids a lot of unnecessary copies (for example, rendering text copied
the background and then the same area for the text again). But even more
effective, it changes the entire drawing of any Haiku app to be completely
flicker free. Provided it happens in the normal Invalidate()/Draw() cycle.
And of course all this only works for double buffering mode, ie VESA.
Potentially, I might have overlooked something, so that this patch could
result in some drawing glitches, but in my testing, I have seen none yet.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24354 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-10 22:30:07 +00:00
Stephan Aßmus
18212e76cc * Made it possible to supress automatic back to front buffer copying of the
rectangle area that is touched by a drawing command.
* Added a CopyToFront(BRegion) method which copies a complete region from
  the drawing/back buffer to the front buffer.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24353 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-10 22:24:00 +00:00
Stephan Aßmus
b7458c6b96 RenderingBuffer::Bounds() returns an IntRect, saves a conversion.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24352 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-10 22:22:11 +00:00
Ingo Weinhold
5bced18eab ALM/linprog patch by Christof Lutteroth:
* Got rid of class ObjFunctionSummand. Both the constraint summands and
  the objective function summands are now stored using class Summand.
* Some method names are more BeOS compliant now: SetX instead of ChangeX.
* linprog test code now uses new AddConstraint methods.
* CalculateMinSize and CalculateMaxSize did not free the memory they
  allocated.
* Removed inappropriate setter and getter methods.
* Memory allocated in class Constraint is freed now.
* Other small changes.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24351 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-10 21:43:32 +00:00
Ingo Weinhold
0bc0282224 * Renamed UserBuildConfig.sample to UserBuildConfig.ReadMe and
uncommented the meaty lines again. Added one or two more explaining
  sentences.
* Created a concise UserBuildConfig.sample with very few comments and
  only the most interesting (commented out) example lines for those
  people who don't read the UserBuildConfig.ReadMe.

I hope everyone can live with this solution.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24350 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-10 20:54:00 +00:00
Maurice Kalinowski
922a7ffc16 * added video_window demo to the image
* reordered addons alphabetically like we do for all plugins



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24349 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-10 20:38:54 +00:00
Axel Dörfler
bf4ddb61e1 * As found by Karsten, the reference count was not initialized in
_ReplaceAtPositions(), and _DoCharacterEscape() (we don't need to preserve
  it, though, as it must be 1).
* Factored out an _Alloc() method which is now always called when the private
  data is allocated. It also takes care of correct initialization (and thus
  fixes the above problem).
* This fix finally allows turning on reference counting again, thanks Karsten!
* Minor cleanup, renamed "oldAdr"/"newAdr" to "oldString", resp. "newString".


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24348 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-10 19:14:05 +00:00
Axel Dörfler
7c58a46830 The result of some more proof-reading caused by Stephan's comments:
* _Realloc(), and _Detach[With]() may fail, but that wasn't accounted for
  everywhere.
* The Append(), Prepend(), and Insert() char versions all caused their
  backends to access invalid data (must use strncpy() instead of memcpy()
  here). 
* All Append(), Prepend(), and Insert() BString variants used an invalid
  check, and would therefore just do nothing in certain situations like this
  one:
    BString a = "-";
    BString b = a;
    a.Append(b);


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24347 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-10 16:41:43 +00:00
Stephan Aßmus
8a1c136e47 Use the front buffer for screenshots always, otherwise we don't get the contents
of BDirectWindows for setups where the app_server uses double buffering mode.
I didn't test the change, but the way the cursor is optionally copied into
the bitmap (which might now be not 32 bpp) looks very flexible.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24346 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-10 15:32:01 +00:00
Axel Dörfler
688c14266c * After my last change, _IsShareable() was called on the wrong string in the
copy constructors, effectively turning of references completely.
* Since that caused troubles (NetPositive now crashes when started), I
  temporarily disabled references by letting _IsShareable() always return
  false until the issue is resolved.
* _FreePrivateData() now sets the fPrivateData member to NULL, and is also
  safe to be called when fPrivateData is NULL.
* Removed my comment about the threading problem in _Detach() and _DetachWith()
  as that just couldn't happen.
* _Clone() must not use memcpy() as the string pointed to by "data" might not
  be as long as "length".
* LockBuffer() now marks a string as unshareable.
* Minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24345 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-10 14:14:44 +00:00
Stephan Aßmus
417889ced8 * Handle clearing to white on the client. This also makes sure that bitmaps are
cleared which have no app_server link (B_BITMAP_NO_SERVER_LINK).
* Check the allocation of the BWindow in BBitmap for view accepting bitmaps.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24344 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-10 10:51:56 +00:00
Ingo Weinhold
9de993d155 Enable process group synchronization via a pipe. Not sure what
advantages that is supposed to yield, but at least under Linux that
option is enabled.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24343 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-09 23:42:21 +00:00
François Revol
c6adfece3c Added HVIF and SVG icon for root folder, should look better :)
Added a custom volume id just in case (might be useful for queries to work between mounts).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24342 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-09 23:26:38 +00:00
Axel Dörfler
6c1198ff2d Disable user add-ons only if specifically set in the safemode settings,
thanks François!


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24341 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-09 22:21:21 +00:00
François Revol
b7ebc38189 Some updates on trademarks, my IM contacts, and I'm not employed by yT anymore :))
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24340 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-09 21:54:27 +00:00
François Revol
5df16a2920 Fix building for BeOS.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24339 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-09 21:40:54 +00:00
Niels Sascha Reedijk
0f3d1b86b0 Correct some mistakes pointed out by Stephan
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24338 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-09 20:39:57 +00:00
François Revol
d85edf56df Check if /bin/stat supports the gnuish -c option, else fallback to BSD syntax.
This should fix ticket #1676, please try.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24337 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-09 19:42:20 +00:00
Ingo Weinhold
f542307a98 We didn't copy the close-on-exec flags on fork(), thus always leaving
all FDs in a fork()+exec()ed child open. Makes Perl test
t/run/cloexec.t pass.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24336 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-09 18:00:17 +00:00
Ingo Weinhold
4a7f236b07 Process groups are now reference-counted. Processes in a group as well
as the death entries of a deceased processes that were in this group
and have not yet been reaped hold references to the group, so that it
won't be deleted until the group is empty and all gone group members
have been reaped. This fixes #1799 at last.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24335 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-09 17:56:27 +00:00
Ingo Weinhold
32da50fafb Allow setting the local to "C" (i.e. not changing it at all). This makes
programs happy, that do that unconditionally (e.g. some Perl test).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24334 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-09 17:47:52 +00:00
Ingo Weinhold
6e4432bc6f Add a tracing entry when executing a signal handler.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24333 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-09 17:45:52 +00:00
Ingo Weinhold
c1de3c34b3 Added deferred_free() function, that can be used to free allocations
in code that has interrupts disabled. The chunks of memories are queued
and free()d periodically by a kernel daemon.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24332 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-09 17:44:55 +00:00
Ingo Weinhold
45eb999ec8 Added "query" and "chmod" (octal, non-recursive only) commands.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24331 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-09 17:41:42 +00:00
Ingo Weinhold
0006905bfb Added "--ignore-attributes" switch to the "cp" command.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24330 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-09 17:40:04 +00:00
Ingo Weinhold
2586d10ea9 CreateFile() didn't specify the B_ERASE_FILE, hence the file wouldn't be
truncated, if already existing. This problem could be experienced when
saving in Pe.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24329 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-09 17:38:55 +00:00
Ingo Weinhold
24326abfa3 Bail out early, when initializing or mounting an image via bfs_shell
fails.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24328 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-09 17:34:26 +00:00
Axel Dörfler
e2f576d9c2 Followed Andreas' suggestion, and enlarged timeout to 12 seconds.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24327 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-09 17:01:39 +00:00
Axel Dörfler
3c0020ae42 * Accept case insensitive boolean values.
* Minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24326 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-09 15:26:29 +00:00
Axel Dörfler
cfb3cc4648 * Now checks and honours the "disable user add-ons" safemode setting.
* Minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24325 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-09 15:25:39 +00:00
Axel Dörfler
a0b6e513b1 Added a program that tests how getpeername() behaves.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24324 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-09 15:23:58 +00:00
Axel Dörfler
3f89bce410 * The module code now uses find_directory() and no hard-coded paths anymore.
* It now also supports the common directory path.
* search_module() checked the module paths in the wrong order, ie. it preferred
  modules in the system directory over the user directory.
* Clarified comment in vfs_get_module_path().


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24323 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-09 14:21:04 +00:00
Axel Dörfler
fa28330bbf * Explained under which circumstances vnode_path_to_vnode() will clobber the
buffer of the provided "path" argument.
* Applied patch by Vasilis to fix some warnings when build on Linux (missing
  const on certain functions). We should probably fix the original
  {add|remove}_debugger_command() functions in Haiku as well.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24322 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-09 13:43:38 +00:00
Michael Lotz
a433b9febf Rewrite and activate message passing by area. Passing by area works now with
the new sematic of transfer_area so a message area is transfered into the right
teams' address space and it does not need to be cloned there anymore. Passing
by area is only used for messages bigger than a certain size (currently
hardcoded to 40KB) which should be somehow bound to the max port message size.
This makes passing large messages (i.e. > the port limit) possible, so for
example copy&paste of long text, image data, etc. should now work.
Got rid of the fClonedArea member as it is not necessary with the new design,
renamed shared_area to message_area in the private message_header, avoid
an unnecessary allocation of the header for the copy constructors, check
allocations in a few more places and some minor cleanup.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24321 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-09 13:35:41 +00:00
Michael Lotz
d1189f0b05 Naive implementation of transfer_area(). It follows the suggested sematics
of the resolved ToDo, but could probably be made more efficient. Instead of
transfering the area, the area is cloned into the target teams' address space
and the original is deleted. This generates a new area_id for the transfered
area (as suggested by the ToDo). Updated syscall prototypes according to the
status_t to area_id return type change.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24320 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-09 12:56:59 +00:00
François Revol
e53032e55d Fix warnings.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24319 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-09 02:38:09 +00:00
Oliver Ruiz Dorantes
a8006c78f0 Add DiscoveryAgent skeleton
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24318 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-09 00:39:32 +00:00
Oliver Ruiz Dorantes
009fac9906 Code & text output cleaning
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24317 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-09 00:04:16 +00:00
Axel Dörfler
d1893d6468 * Driver probe code now uses find_directory() to get the directories to
look for drivers (also added common directory).
* Now also honours the B_SAFEMODE_DISABLE_USER_ADD_ONS setting.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24316 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-08 23:14:06 +00:00
Axel Dörfler
637eef896b * Added a get_safemode_boolean() function for easy access to the safemode
options.
* module_init() now sets sDisableUserAddOns to whatever the safemode settings
  say, ie. the B_SAFEMODE_DISABLE_USER_ADD_ONS setting is now respected by
  the module code.
* Minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24315 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-08 23:12:46 +00:00
Axel Dörfler
a1dac092fa Followed suggestion by Stephan.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24314 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-08 20:49:30 +00:00
Jonas Sundström
7bed483ae2 Show popup menu also when right-clicking the load meter. It was a blind spot. Added the virtual keyword to the other two load meter view hooks.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24313 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-08 20:06:50 +00:00
Axel Dörfler
002b33b720 * Fixed a bunch or concurreny bugs and memory leaks of the new reference
string stuff.
* It's still not thread-safe for all usage patterns, though, so we might want
  to remove or disable it: if a string is shared between several threads, and
  one of those starts to use a reference, all kinds of problems can happen.
* Some cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24312 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-08 19:05:09 +00:00
François Revol
76ec752f89 On request implemented setting media type.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24311 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-08 18:16:49 +00:00
Axel Dörfler
e29faac6cd * return_address() did not take the original sockaddr length into account;
it always copied the whole new address, no matter how large the original
  buffer was. That fixes bug #1898.
* Minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24310 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-08 17:51:23 +00:00