Commit Graph

16531 Commits

Author SHA1 Message Date
Ingo Weinhold
c1c0c22091 * In the BMessage assignment operator we do now clear some of the message
header flags after copying the header of the original message. Before
  cloning a message that still needed a reply would result in the clone
  also needing a reply, which, in the end, led to two replies being sent,
  thus screwing up the cached reply ports used for synchronous messaging.
  Fixes bug #1008.
  BTW, also clearing the reply info breaks Tracker and Deskbar, so I suppose
  R5 keeps it and Tracker and Deskbar rely on that behavior.

* Added a bit of debug code removing and printing spurious messages from a
  cached reply port.

* Added TODO in BMessage::~BMessage(). ATM, we only send a B_NO_REPLY in the
  destructor, but not in case the message is overwritten using the
  assignment operator or Flatten().



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20074 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-02-05 16:04:46 +00:00
Axel Dörfler
805b68a926 Fixed the bug I introduced yesterday that all queried "Close and ..." items would
set the status to "_status" instead of the actual status.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20073 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-02-05 14:43:37 +00:00
Travis Geiselbrecht
dcdc4f4b43 pulled over some stuff from newos:
at boot, per cpu, detect the cpu, pull down all the relevant cpuid bits and
save them into the per-cpu structure. Changed most of the code scattered here
and there that reads the cpuid to use a new api, x86_check_feature, which looks
at the saved bits.
Also changed the system_info stuff to read from these bits.
While i was at it, refreshed all the bits to be current.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20072 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-02-05 01:46:28 +00:00
Travis Geiselbrecht
5c3d21086c whew, the numbers were looking terrible for sycalls, but it was just the app being off by a factor of 1000.
It's still somewhat slower, but workable. null syscall speed on p3 500:
haiku  6800 nanosecs
beosr5 2200 nanosecs
linux  680  nanosecs


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20071 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-02-04 21:57:56 +00:00
Travis Geiselbrecht
bee597ebfb Rewrote the syscallbench app. It now will figure the overhead of a simple test loop,
then the overhead of a call into libroot, and finally the overhead of a syscall 
(using is_computer_on).
The numbers are totally abysmal right now. :(


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20070 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-02-04 21:12:54 +00:00
Travis Geiselbrecht
ea4ff0f689 is_computer_on() lives again as a true syscall.
Replaced the _kern_null syscall with _kern_is_computer_on.
is_computer_on_fire is a bit harder, since it returns a float from kernelland, which
at the moment isn't supported in haiku.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20069 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-02-04 21:08:35 +00:00
Axel Dörfler
10c69bce7b * Moved the query engine from TMenu into its own function add_query_menu_items().
* Removed the "Set to..." submenu from the "Close and" menu; instead, all items
  are now added to the same level, which makes this menu more useful and easier
  to use.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20068 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-02-04 19:07:21 +00:00
Axel Dörfler
f7f2fd3533 * Removed VIEW_COLOR definition, and also fixed its former usages to use
ui_color(B_PANEL_BACKGROUND_COLOR) instead.
* Cleanup, simplified TStatusWindow.
* Did not fix font sensitivity issues in TStatusWindow (but that's also
  not for Ryan, as MDR should stay compilable on R5 as well for now).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20067 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-02-04 19:02:48 +00:00
Axel Dörfler
815c38625d Applied patch by Vasilis Kaoutsis:
* replaced new[] with malloc()/realloc() where appropriate - since we're messing with
  the bits anyway, this makes the code slightly faster.
* however, we might want to throw some std::bad_alloc exceptions to deal correctly with
  low memory situations.
* cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20065 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-02-04 13:32:36 +00:00
Jérôme Duval
bf63295e0b reverted changes from revision 7340, it seems to not be useful anymore.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20063 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-02-04 11:48:08 +00:00
Axel Dörfler
ebabf50a02 x86_userspace_thread_exit() did not correctly setup the stack for the syscall.
I don't know why (or how) it could work before r19775, though.
This fixes the wrong return code from wait_for_thread() in most cases, and thus,
bug #1011.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20060 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-02-03 18:30:24 +00:00
François Revol
d4ab0e458d Also strerror() for syscalls returning int (open, ...).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20059 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-02-03 17:00:12 +00:00
Ingo Weinhold
d09c136a8c Send out B_SOME_APP_LAUNCHED/QUIT messages only for fully registered
apps. This fixes bug #948.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20058 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-02-03 12:23:03 +00:00
DarkWyrm
2709c7813e Fixed build for R5 target
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20057 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-02-03 12:14:00 +00:00
Ingo Weinhold
c392233749 Fixed RosterShell build for Haiku.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20056 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-02-03 11:26:48 +00:00
Axel Dörfler
4d1fd46cdf * Replaced DEBUG MultiLocker with an implementation that actually helps debugging
locking problems (instead of debugging the locker class).
* MultiLocker::IsReadLocked() is now only exported with DEBUG mode turned on, as
  it only works correctly in this case.
* Made MultiLocker safe against B_INTERRUPTED, ie. it now just tries to lock again
  instead of failing for no obvious reason.
* Removed bogus arguments to acquire_sem_etc() in MultiLocker (like B_DO_NOT_RESCHEDULE).
* Applied coding style to MultiLocker.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20055 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-02-02 19:16:18 +00:00
Axel Dörfler
cb134e2550 Resolved a TODO: WorkspacesLayer must take the whole workspaces frame into account, not
just the one of the first screen. This also solves a locking bug, as the HWInterface
is already read-locked when WorkspacesLayer::Draw() is called.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20054 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-02-02 18:14:25 +00:00
Waldemar Kornewald
234554ce4b Fixed BScreen::SetMode() to use the current workspace when none is given.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20053 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-02-02 17:47:01 +00:00
Axel Dörfler
ad7e408e18 The SemaphorePool method could hand out unbalanced semaphores - it only called
Semaphore::ZeroCount() on new semaphores, not on used ones. Found by Stefano, thanks!


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20052 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-02-02 17:12:00 +00:00
François Revol
2a6bab3cb7 Only launch a new instance of BeShare if it's not yet running or we specify a server in the url.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20051 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-02-02 17:00:06 +00:00
François Revol
9045e36181 Remove some debug output. Implied localhost for finger: and implied current server for BeShare.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20050 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-02-02 16:51:19 +00:00
Axel Dörfler
89eb4cd6c9 Now checks the screen mode to be set if it is already the active one (and do nothing if
that's the case).
Accidently this also fixes bug #1010.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20049 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-02-02 16:20:16 +00:00
François Revol
44c1a9db62 Cleanup rdef
Rewrote url parsing (unfinished)
Added several url types. Now it handles: ftp, sftp, telnet, ssh, finger, sh, file, beshare (to BeShare), mms, rtp, rtsp (to VLC). Some make probably more sense to add to the respective apps (BeShare, VLC...) but it's still handy for now.
Now please everyone go fix your apps to use generic url support instead of hardcoding http: :)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20048 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-02-02 16:05:56 +00:00
François Revol
998579b2e1 get rid of the makefile & rsrc
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20047 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-02-02 16:02:03 +00:00
Axel Dörfler
f55ffadf96 Minor cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20045 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-02-02 12:44:51 +00:00
Axel Dörfler
a83c8bbffa Moved libroot/posix/kerrno.c to kernel/lib/ where it belongs, and renamed it to kernel_errno.c.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20044 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-02-02 10:53:57 +00:00
Ingo Weinhold
550f2171c1 Mostly aesthetical changes. "jam pxehaiku" worked here before and still
does. Marcus, what problem did you encounter?

The BuildPXEstage1 actions use "as" ATM, which is not correct, since it
should actually use the target platform assembler (i.e.
cross-compilation won't work). It should be replaced by $(TARGET_CC),
but that results in the following errors, when compiling with gcc 2.95.3:

/home/bonefish/develop/haiku/haiku/src/system/boot/platform/pxe_ia32/pxe_stage1.S:
Assembler messages:
/home/bonefish/develop/haiku/haiku/src/system/boot/platform/pxe_ia32/pxe_stage1.S:39:
Error: missing ')'
/home/bonefish/develop/haiku/haiku/src/system/boot/platform/pxe_ia32/pxe_stage1.S:96:
Error: `0x6(%edx)' is not a valid 16 bit base/index expression
/home/bonefish/develop/haiku/haiku/src/system/boot/platform/pxe_ia32/pxe_stage1.S:102:
Error: `0xa(%edx)' is not a valid 16 bit base/index expression
/home/bonefish/develop/haiku/haiku/src/system/boot/platform/pxe_ia32/pxe_stage1.S:127:
Error: `2(%edx)' is not a valid 16 bit base/index expression
/home/bonefish/develop/haiku/haiku/src/system/boot/platform/pxe_ia32/pxe_stage1.S:128:
Error: `0(%edx)' is not a valid 16 bit base/index expression
/home/bonefish/develop/haiku/haiku/src/system/boot/platform/pxe_ia32/pxe_stage1.S:147:
Error: `16(%ebx)' is not a valid 16 bit base/index expression
/home/bonefish/develop/haiku/haiku/src/system/boot/platform/pxe_ia32/pxe_stage1.S:149:
Error: `20(%ebx)' is not a valid 16 bit base/index expression
/home/bonefish/develop/haiku/haiku/src/system/boot/platform/pxe_ia32/pxe_stage1.S:173:
Error: `2(%edx)' is not a valid 16 bit base/index expression
/home/bonefish/develop/haiku/haiku/src/system/boot/platform/pxe_ia32/pxe_stage1.S:174:
Error: `0(%edx)' is not a valid 16 bit base/index expression
/home/bonefish/develop/haiku/haiku/src/system/boot/platform/pxe_ia32/pxe_stage1.S:298:
Error: `(%esi)' is not a valid 16 bit base/index expression
/home/bonefish/develop/haiku/haiku/src/system/boot/platform/pxe_ia32/pxe_stage1.S:299:
Error: `(%edi)' is not a valid 16 bit base/index expression
/home/bonefish/develop/haiku/haiku/src/system/boot/platform/pxe_ia32/pxe_stage1.S:306:
Error: `(%esi)' is not a valid 16 bit base/index expression
/home/bonefish/develop/haiku/haiku/src/system/boot/platform/pxe_ia32/pxe_stage1.S:307:
Error: `(%edi)' is not a valid 16 bit base/index expression


For the gcc 4 configuration all but the first errors disappear. It looks
like these are bugs in older assembler version. Any reasonable
work-around?



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20043 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-02-02 09:42:22 +00:00
Waldemar Kornewald
4be51fe314 Now we also update the original preferences when multi-screen settings change.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20042 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-02-02 08:23:34 +00:00
Waldemar Kornewald
f6a62205d3 Fixed comment style. :)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20041 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-02-02 08:22:02 +00:00
François Revol
589392515f Add urlwrapper to the build
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20040 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-02-02 07:53:53 +00:00
François Revol
fc7ccd64a7 Doesn't really deserve its own folder...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20039 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-02-02 07:47:14 +00:00
François Revol
f78580c496 add usb_dev_info
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20038 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-02-02 06:47:49 +00:00
François Revol
50575d9edb An old tool of mine that handles several url mime types, allowing to redirect urls to commands line tools.
Currently supported are telnet:, ssh: and ftp:. Now you should be able to click telnet://towel.blinkenlights.nl on a webpage or in Vision :)
TODO: Jamfile; handle ":port" in urls.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20037 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-02-02 06:29:42 +00:00
Waldemar Kornewald
f70737c108 Fixed (*crossing fingers* :) the probably most complicated deadlock in Haiku's history...Axel, am I exaggerating? :)
I've tested it and it seems to work. Could someone else please confirm that everything still works well?

Hmm, I'm still wondering why Axel took the time to suggest a possible solution to me instead of fixing it himself. There must be a catch. ;)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20036 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-02-01 22:32:16 +00:00
Ryan Leavengood
41ecd34905 Another recreation of a favorite BeOS screensaver of mine: Message, originally
by Jon Watte.

This was a tough but interesting problem. My version still isn't quite as nice
as his. I think the color generation could be improved, and I KNOW the x and y
placement of the text could be improved.

I also think it would be nice to display the full message at the bottom of the
screen (similar to ShowImage showing the file type and name in full screen
mode.)

But this is a good base to work from.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20035 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-02-01 22:30:32 +00:00
Jérôme Duval
b1d2a4fe26 this seems to be needed for gcc 2.95.3
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20034 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-02-01 22:27:42 +00:00
Waldemar Kornewald
894deb54ab Actually, the check isn't necessary because I'm not copying R5 behavior, anymore...I'm getting tired. :) Maybe I can checkin the Tracker fix, quickly.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20033 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-02-01 22:21:34 +00:00
Waldemar Kornewald
f00b41e4a7 Fixed stupid logic mistake. Thanks for noticing, Axel!
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20032 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-02-01 22:12:30 +00:00
Waldemar Kornewald
a40498e2b2 * Fixed a little bug that caused unnecessary mode changes when pressing Revert.
* Fixed compilation under R5.
* Made Revert more user-friendly by also allowing to revert settings to the previously active state after having pressed Apply. This only works if you didn't make new changes in the meantime. In that case, only the new changes will be reverted.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20031 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-02-01 21:36:50 +00:00
Michael Pfeiffer
24a0bfcb01 Fix bug #1004. The directory B_USER_PRINTERS_DIRECTORY does not exist in
haiku.image. It is now created when print_server or the Printers preflet
is started.
Applied coding style.
"Flattened" some nested if statements.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20030 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-02-01 20:39:20 +00:00
Axel Dörfler
f6c0820638 * The BHandler observer mechanism was completely broken in Haiku for remote targets;
this fixes bug #1005. As a result, the Disks icon will now appear in file panels
  when you change that setting with a panel open.
* _ObserverList is now in the BPrivate namespace (and renamed to ObserverList).
* its BHandler map is now only temporarily used for handlers that do not belong to
  a looper yet; when BHandler::SendNotices() is called, they will be transferred
  into the BMessenger map.
* Invalid messengers are now removed from the map when encountered.
* Added TODO comments about a possible reference counting if a handler is added
  twice to a list (right now, this will be ignored).
* All {Start|Stop}Watching() methods are now more or less safe to be used in low
  memory situations (adding some items to the map can still throw an exception...).
* Renamed BHandler::InitData() to _InitData().
* Some refactoring and cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20029 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-02-01 16:08:01 +00:00
Axel Dörfler
fe70b87d91 Fixed a couple of issues in our VM:
* we now always flush the TLBs after having unmapped some pages.
* vm_soft_fault() could traverse to a source cache while it was being collapsed
  by vm_cache_remove_consumer() - this is now no longer possible as the latter
  marks the cache as busy when doing so, and the former now tests this flag and
  locks the cache (via the new fault_acquire_locked_source() function).
* if fault_acquire_locked_source() fails with B_BUSY, the current cache is locked
  again, and tested again for the page - as it might have been moved upwards to it
  with the destruction of its former source.
* The cache delivering the page for vm_soft_fault() is now locked until the end;
  it can no longer go away before having actually mapped the page into the area.
* This also fixes the issue where pages would get lost as vm_soft_fault() put the
  page in the active list, no matter if its cache still existed.
* Also, we now keep a reference of to a cache in case a dummy page is inserted; this
  makes again sure that it doesn't go away during the execution of vm_soft_fault()
  (which could even add this page to the free list...).
* divided vm_soft_fault() into several smaller functions which should make it much
  more readable.
* Added a "cache_chain" KDL command that dumps the whole chain until the bottom
  when giving a pointer to a vm_cache as parameter.
* now usually call vm_cache_acquire_ref() before map_backing_store(), even though
  it shouldn't be really needed (I added it for debugging purposes).
* Some minor cleanup.
* NOTE: a major problem still persists: when removing a vm_cache, it's possible
  that some of its pages are still mapped, and there is currently no mechanism
  to get rid of these mappings! I've added TODO comments into vm_cache.c where
  appropriate.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20028 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-02-01 12:12:54 +00:00
Ingo Weinhold
5df726a403 Fixed infinite recursion. Discovered by Ryan.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20027 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-02-01 08:21:44 +00:00
Ryan Leavengood
e3e76a3af9 Added convenience methods to allow a group or grid layout's insets to be set
while it is being built.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20026 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-01-31 20:30:20 +00:00
Jérôme Duval
d09c0ef980 updated flex to 2.5.33, it now uses m4
tested on Qemu with aslcompiler.l => it takes more than 1m30s here, and shows a bottleneck in the kernel (the use of pipes)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20025 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-01-31 19:18:02 +00:00
Jérôme Duval
54acbf6a87 added m4 1.4.8 ; it's used by the latest flex
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20024 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-01-31 19:13:08 +00:00
Philippe Houdoin
7029621374 Added forgotten space between kernel build date and time.
Also prepare uname to return the build SVN revision number,
which will work only if I could figure out how to define it from Jamfile.
Or, better, in build/jam/BuildSetup. 


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20023 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-01-30 22:30:01 +00:00
Waldemar Kornewald
e327ea521a This should fix absolute scrolling when clicking on an area covered by the thumb.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20022 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-01-30 20:22:24 +00:00
Ryan Leavengood
ebaed93917 We now disable the "Resize..." menu item when a slideshow is started. Not a
huge deal but it doesn't make much sense to resize images during a slideshow.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20020 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-01-30 19:24:12 +00:00
Ingo Weinhold
ee202d50bc Fixed access of deleted object in out of resources situation.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20019 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-01-30 13:09:15 +00:00
Ingo Weinhold
ef9c618c66 The RosterShell can be compiled for all BeOS compatible platforms.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20018 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-01-30 13:05:30 +00:00
Ingo Weinhold
adc44678a3 Added simple "launch" command to the roster shell.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20017 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-01-30 13:04:26 +00:00
Axel Dörfler
53d43e3f52 The KDL command "page" can now also look up the physical page behind a virtual address.
The "lookup" option has been removed, there is now a "-p" for a physical address, and
"-v" for a virtual address.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20016 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-01-30 12:03:04 +00:00
Jérôme Duval
b2f8cb2ef4 it seems fRegisteredApps also lists not fully running apps, so we add a check for the state APP_STATE_REGISTERED.
this fixes the ticket #627.
Ingo, could you review ? This check might also be needed at other places.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20014 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-01-29 23:36:15 +00:00
Axel Dörfler
f91bf83feb We must not wait for the reply of the registrar - this fixes a deadlock between
the registrar and the app_server.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20013 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-01-29 22:40:29 +00:00
Ryan Leavengood
8f5fd23f60 The size of the selection rectangle is now shown in the status bar. Useful for
cropping an image to a certain size or taking similar sized croppings from
various images (as I need to do.)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20012 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-01-29 20:29:16 +00:00
Axel Dörfler
923ce6f922 * waitpid() now only clobbers _status in case it succeeded.
* improved comments and TODOs.
* added note about unimplemented WUNTRACED, and WCONTINUED options


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20011 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-01-29 15:45:34 +00:00
Axel Dörfler
2e27874523 * wait_for_child() now behaves correctly when waiting for children of a specific
process group. This fixes bug #996.
* As a result, the process group stuff and wait_for_child() got much simpler;
  get_death_entry() and update_wait_for_any() could go away completely.
* If a team goes away, all of its children are now "reparented" to the kernel team,
  instead of the team's parent - this follows common implementations (and POSIX if
  I understand it correctly), but not BeOS anymore. The OpenGroup Base says this
  about this topic: "If a parent process terminates without waiting for all of its
  child processes to terminate, the remaining child processes shall be assigned a
  new parent process ID corresponding to an implementation-defined system process."
* We wait too long in wait_test_4 which at least puts us on par with Linux; see
  comment in _user_setpgid().


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20010 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-01-29 15:33:31 +00:00
Axel Dörfler
56a16fd0f9 Added some more tests for wait() and waitpid(). Looks like my implementation is
broken (see bug #996), but less broken than Be's.
Also the Linux implementation is not perfect, as test 4 reveals: it waits for a
child with a certain process group, even if there is no child around anymore (because
the last child changed its process group. However, it will still return (and report
the correct error code) once this child exits.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20009 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-01-29 13:40:52 +00:00
Axel Dörfler
1beeb96080 setpgrp() returns a pid_t, not an int.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20008 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-01-29 13:31:24 +00:00
Axel Dörfler
af0e9c1cb8 * Added some calls to waitpid() which should result in the same error code.
* Fixed comment, as Haiku now behaves properly at least for most cases :-)
* Style guide update.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20007 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-01-29 12:43:21 +00:00
Ryan Leavengood
e8ec87ad28 I decided to recreate the classic BeOS screensaver BuyNow, and here it is.
I'm considered splashing it up a bit by adding parameters for colors, etc, but
this will make a good baseline.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20005 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-01-29 05:50:42 +00:00
Michael Lotz
4771489e89 Changing from a stack allocated result struct to a heap allocated one. This removes the possibility that a timed out transfer that later still triggers the callback writes into invalid stack space.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20004 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-01-29 01:18:17 +00:00
Michael Lotz
a94a8358e8 With plain R5 kernels, the usb module image is apparently loaded twice (once for each exported module), while for BONE kernels and up the module is only loaded once.
So the mechanism with the global variable did not work for R5 what caused two USB stacks and host controller drivers to be active concurrently which resulted in completely unpredictable results.
This kind-of-inelegant fix was all I could come up with, if someone has a better idea please send it this way.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20003 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-01-29 01:12:40 +00:00
François Revol
b6a6e8e347 Add debugger kernel modules to the build.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20002 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-01-28 22:12:47 +00:00
François Revol
a08aa5f3fe Add code to work as a kernel module. Builds now.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20001 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-01-28 22:12:10 +00:00
François Revol
8c0f52bd5d fix path
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20000 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-01-28 21:39:50 +00:00
François Revol
4dca8fed0d AddSubdir...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19999 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-01-28 21:39:04 +00:00
Axel Dörfler
6af9dcbfe5 Another cleanup patch by Vasilis Kaoutsis - thanks!
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19998 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-01-28 21:35:08 +00:00
François Revol
0223d2d0bb Move your body...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19997 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-01-28 21:34:40 +00:00
Ryan Leavengood
3daebb3ee0 Changed the application QuitRequested as per Axel's advice.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19995 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-01-28 19:20:35 +00:00
Ryan Leavengood
880be3310d General changes:
- Fixed some formatting in the recently added resizing code.
- Changed the operation name for rotating counterclockwise to use that name
  instead of anticlockwise. This makes the code consistent with the GUI.
- Reformatted the constants header to use an enum. Also removed the empty
  constants cpp file.
- The QuitRequested handler in the app did not ask the windows to close, which
  could cause modified images to be closed without prompting the user. Now it
  does, which makes ShowImage more user friendly.

Changes to the image view:
- Added a member for keeping track of the type of image. This is mostly used in
  properly updating the window's status bar when the image is changed (flipped,
  rotated, etc.) This removes some hacky code I added before :)
- Removed the status parameter in the Notify method since it was only used for
  the above image type status updating.
- Removed a redundant if in the mouse up handler.
- The key down handlers for moving to the next and previous image did not
  properly prompt the user if the image had changed. I fixed this by sending a
  message to the window where the prompting code resides. When adding this I
  also created a few helper methods for sending messages to the window, which
  removed some (small) repeated code through-out the class.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19994 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-01-28 15:13:41 +00:00
Axel Dörfler
268fe0f839 * wait_for_child() now checks if the team has any children to wait for, and returns
ECHILD in case it doesn't. This fixes bug #995.
* Added a TODO item for solving bug #996.
* wait_for_child() did not release the team lock and restore interrupts in case
  the child you wanted to wait for didn't exist...
* with child > 0, wait_for_child() will now check if its really a child of yours,
  and not just in the same process group.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19993 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-01-28 14:31:42 +00:00
Marcus Overhagen
cc30d340c3 When getting the memory map, ask only for 2046 bytes instead of
2048 bytes. This should fix bugs #993 and #997.
On BeOS R5 asking for 2 bytes too much wasn't a problem, as we 
only need the first page_entry, and it didn't return any Error.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19992 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-01-28 12:59:45 +00:00
Waldemar Kornewald
35f71eb445 Fixed build under Linux. Also tested on BeOS. Fixes bug #983.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19991 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-01-28 12:33:12 +00:00
Marcus Overhagen
ad13bfbbd7 Added unconditional debug output. You will most likely see it when "sync" is stalled,
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19990 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-01-27 22:52:09 +00:00
Marcus Overhagen
55a5f66c21 Made the "get_memory_map failed" error panic the kernel, to avoid random
crashes at a later time. I observed one error at 8033a802, but the address
was allocated by the driver and should have been fully locked.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19988 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-01-27 22:06:35 +00:00
Marcus Overhagen
562ce636d3 reverted r19986. uncached mapping didn't work, instead it was falling back to vesa mode.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19987 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-01-27 21:17:38 +00:00
Marcus Overhagen
e0858f4dd5 added a temporary workaround for bug report #994
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19986 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-01-27 20:56:44 +00:00
Axel Dörfler
9a8038bf5d Fixed the wrong "be:key_repeats" we were sending to our clients.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19985 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-01-27 17:04:25 +00:00
Jérôme Duval
5839b2df71 the test case for ticket #995
wait() should return with an error when the process has no children


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19983 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-01-27 16:00:19 +00:00
Marcus Overhagen
3ff2441acf two additional savety checks
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19981 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-01-27 00:05:39 +00:00
Marcus Overhagen
dea33357ec Commandline tool to write a vmware vmdk header to a haiku image file (space for the header has to be reserved)
Tested with VMware Player 1.0.3 on linux and works.

Can also be used to create a haiku.vmdk file from an existing haiku.image file:

rm haiku.vmdk
generated/objects/linux/x86/release/tools/vmdkheader/vmdkheader -h 64k -i100M haiku.vmdk
cat generated/haiku.image >>haiku.vmdk



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19980 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-01-26 23:52:57 +00:00
Jérôme Duval
68fbee9e74 we don't need this for Haiku
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19977 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-01-26 21:15:45 +00:00
Michael Lotz
011a5431dd Corrected include directories for non-Haiku platforms. USBKit.a can now be built for R5 too.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19974 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-01-26 16:57:34 +00:00
Axel Dörfler
2617d83e76 Damn, forgot to include these two in r19968. This should fix the build again.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19973 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-01-26 16:48:02 +00:00
Axel Dörfler
087882c26e * Rewrote headers as necessary; only Errors.h and Debug.h still originate from a Be header now;
feel free to change that ;-)
* Cleaned up existing headers.
* Coding style guide update to BBufferIO (renamed m_* members to f*).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19972 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-01-26 16:36:29 +00:00
Michael Lotz
03d79ead32 Added USBVersion() and MaxEndpoint0PacketSize() infos to the output.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19971 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-01-26 14:54:08 +00:00
Michael Lotz
5f1534dbf3 Obviously submitting the requested generic index is necessary for this function to work...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19970 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-01-26 14:37:59 +00:00
Michael Lotz
e40b5c0d59 Fixed a wrong index that could cause crashes with devices containing generic descriptors
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19969 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-01-26 14:36:03 +00:00
Axel Dörfler
9dbe170a69 Implemented direct message passing for local targets; this fixes a deadlock
with PostMessage() in case the message queue is full.
Some notes:
* for synchronous replies, we don't use this mechanism yet, but it could be
  extended to do that as well.
* the code looks so complicated because we need a way to access the looper's
  queue without locking it (to prevent deadlocks); like Dano's solution, I've
  abused BTokenSpace to store a BDirectMessageTarget with a BHandler.
* we also need to decouple the lifetime of a looper's queue from its target,
  as we cannot lock the looper, and therefore, can't guarantee it stays valid
  as long as we're accessing it outside of BLooper.
* init_clipboard() now needs to be done after the global constructors have
  been called - since sending messages now needs gDefaultTokens to be initialized.
  Since this is done per image, it shouldn't cause any troubles, though.
* some minor cleanup, removed unused _msg_cache_cleanup_() and friends.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19968 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-01-26 13:59:56 +00:00
François Revol
caa76e0da1 Fix some warnings (unused args...). Only bad protos left.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19967 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-01-26 13:33:53 +00:00
Axel Dörfler
c01f349e6d Cleanup:
* Got rid of unused BLooper members
* renamed fTaskID to fThread
* Removed private and deprecated AddLooper()/RemoveLooper()/... stuff; BLooper is now
  directly calling BLooperList methods.
* Got rid of extensive and useless comments
* Made a few TODOs more clear
* Merged InitData() and InitData(...) to _InitData(...)
* BLooper::Team() now uses BPrivate::current_team(), sTeamID is gone now.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19966 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-01-26 12:42:18 +00:00
Axel Dörfler
aa33d0a928 Got rid of the looper ID stuff - it seems nowhere to be used.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19965 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-01-26 12:11:33 +00:00
Axel Dörfler
88df8322a9 Optimized current_team() - it now uses a static variable to hold the team ID.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19964 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-01-26 12:05:10 +00:00
Axel Dörfler
fa9e26cdd0 * Fixed warnings.
* Minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19963 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-01-26 11:35:25 +00:00
Axel Dörfler
dfd1fe13b8 Fixed some warnings, mostly wrong uses of the ASSERT macro.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19962 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-01-26 11:24:20 +00:00
François Revol
ab28e0ff2c For interfaces listed in a domain but without any address we returned {2, AF_UNSPEC}, but we only skipped 1 byte instead of 2... fixed.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19961 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-01-26 11:07:08 +00:00
Jérôme Duval
76b72c03e8 updated freetype to 2.3.0
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19960 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-01-25 19:12:34 +00:00
Jérôme Duval
ca48070032 fix for warnings
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19959 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-01-25 17:50:58 +00:00