Commit Graph

19015 Commits

Author SHA1 Message Date
Ingo Weinhold
cd9660c79a Moved sending the B_NO_REPLY reply from the destructor to the more
general _Clear(), so that the assignment operator and Flatten() will
trigger such a reply as well.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20083 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-02-06 17:30:54 +00:00
Ingo Weinhold
a4e0c1d43d * We do now have a special "_haiku_revision" section in our libroot,
containing the Haiku SVN revision number which is used by uname(). The
  value is 0 when built, but updated by the build system before copying
  libroot to the image (new rule CopySetHaikuRevision).
* For AboutHaiku we no longer write the SVN revision number into a
  resource. Instead we use the uname() info.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20082 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-02-06 16:51:29 +00:00
Ingo Weinhold
6b533670b9 Fixed build on R5.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20081 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-02-06 16:37:36 +00:00
Ingo Weinhold
402d77f655 Small tool to update the haiku revision in a special haiku revision
section of an ELF object. Probably won't build under BeOS yet.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20080 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-02-06 16:30:26 +00:00
Axel Dörfler
230a0989fd bfs_free_cookie() now always write locks the inode - before it only hold a read lock
which wasn't enough when tampering with the inode's data, and it also acquired that
lock too late.
Thanks to Stefano for pointing this out.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20079 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-02-06 16:28:48 +00:00
François Revol
20d237e4d1 Support for building the vmware gfx driver as a package, thx to Urias McCullough <umccullough at gmail dot com>.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20078 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-02-06 06:15:01 +00:00
Axel Dörfler
eb117b4bfd Reworked the way thread_yield() works: just setting the thread to B_LOWEST_ACTIVE_PRIORITY
for one quantum wasn't really a good idea, as this could get quite expensive for the thread
(depending on the system load, it might have taken a long time until the thread was scheduled
again, no matter what priority it was).
Also, calling thread_yield() in a loop would have taken 100% CPU time.
Now, we sort the thread into the queue as with any other thread, but we'll ignore it once.
This now guarantees an actual context switch, as well as a much fairer rescheduling policy
for threads calling that function.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20077 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-02-06 02:29:17 +00:00
Axel Dörfler
8c31a369ab Now sets the "other" unchanged version info to {0} if it doesn't exist yet - this
should work around bug #681 on R5. Please test.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20076 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-02-05 23:28:09 +00:00
Michael Pfeiffer
c282eba324 * Fixed bug #1009. Update window while in BPrintJob.ConfigPage() or
ConfigPage().
* Set mime type of spool file so print_server accepts the file.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20075 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-02-05 20:40:15 +00:00
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
Ingo Weinhold
eccc7665b5 Added configure option --use-gcc-pipe to enable building with the gcc
-pipe option.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20066 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-02-04 14:03:21 +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
Ingo Weinhold
ac5beb17a5 Removed obsolete --floppy option.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20064 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-02-04 12:56:20 +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
Ingo Weinhold
d0097591b0 Added shebang. Should fix bug #956.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20062 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-02-04 10:50:11 +00:00
Travis Geiselbrecht
43e6454f92 Change the jam rules to build the test binaries as release by default,
debug only if you specify TEST_DEBUG. The debug binaries don't seem to
work right anyway.

Hopefully this didn't mess anyone up.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20061 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-02-03 21:55:45 +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