Commit Graph

24688 Commits

Author SHA1 Message Date
Ingo Weinhold
dd6eebabfe Use the [un]defer_signals() functions to prevent signal delivery while
being in the allocator. Fixed bug #1965.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25452 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-05-11 16:30:22 +00:00
Ingo Weinhold
d648afb8d7 * For each userland team the kernel creates an area in the userland
address space that is fully locked and marked B_KERNEL_AREA. It can
  thus be accessed by the kernel without additional checks.
* For each userland thread we do create a user_thread structure in that
  area. The structure is accessible from userland via TLS, using the
  private get_user_thread() function.
* Introduced private userland functions [un]defer_signals(). They can be
  used to cheaply disable/re-enable signal delivery. They use the
  user_thread::defer_signals/pending_signals fields which are
  checked/updated by the kernel.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25451 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-05-11 16:25:35 +00:00
Ingo Weinhold
58148e2e02 Added new private area protection flag B_KERNEL_AREA, which prevents all
changes to the area (delete, resize, clone) from userland.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25450 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-05-11 16:02:13 +00:00
Ingo Weinhold
2873ace1f1 Small test program triggering a self-deadlock in the memory allocator
when a signal handler that itself uses the allocator is invoked while
the thread originally was in the allocator.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25449 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-05-11 15:56:42 +00:00
David McPaul
ab38d6b5ee Hardcode IMA4 sound description
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25448 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-05-11 13:09:54 +00:00
Axel Dörfler
2f00291de2 * The EXIF parser now keeps a set of visited offsets to avoid entering endless
loops with corrupted data.
* This fixes bug #2206.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25447 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-05-11 12:28:01 +00:00
Axel Dörfler
fdeee1a708 Wrote a small test program that can reproduce the problem in bug #2206.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25446 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-05-11 12:08:15 +00:00
David McPaul
7eabc31ec7 change printf to TRACE. Turn off TRACEing
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25445 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-05-11 02:44:39 +00:00
David McPaul
4a3e5e36ca fix issue 1779 - crash on mov with audio
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25444 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-05-11 02:07:01 +00:00
François Revol
29ede77343 - add jamfile & rdef
- remove makefile & rsrc
- hook to the build.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25443 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-05-11 01:02:34 +00:00
François Revol
fe8567ec1c The code for my (very useful if you ask me) AutoRaise deskbar addon that brings the focussed window to front after a timeout.
MIT of course.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25442 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-05-11 00:40:56 +00:00
François Revol
a4a6c26a2a - add a jamfile and rdef
- remove makefile and rsrc as it builds fine from jam
- add to the build


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25441 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-05-11 00:32:02 +00:00
François Revol
1d7c2d4adc Sources for Matthijs Hollemans' WebWatch app, I don't use it (anyone actually using @beats ?) but it's quite cute and could serve as nice sample code. And it's under MIT licence.
Oddly this is version 1.5 while bebits still has 1.4 :)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25440 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-05-11 00:02:26 +00:00
Michael Lotz
745c6cce89 Adding USB ECM (Ethernet Control Model) driver. This driver should support
devices of the CDC class (2 - communication) with ECM subclass (6) interfaces.
This type of device can be for example a USB to ethernet adapter or current
UMTS cell phones that support the Wireless Mobile Communications Devices (WMC)
standard.
Note that there is also another, similar, thing called EEM (Ethernet Emulation
Model) which we want to support too and is why I called this driver "usb_ecm"
instead of just "usb_network".
This driver was written in less than half a day and while it works nicely with
my Sony Ericsson K850i (comitting over this very device/driver), it does not
yet contain features like link state reporting and multicast and may obviously
contain a few bugs.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25439 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-05-10 23:50:41 +00:00
Ingo Weinhold
3560b757c2 Fixed warning.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25438 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-05-10 22:22:08 +00:00
Ingo Weinhold
5d0638bf88 Changed FATAL macro to always dprintf() the error. Additionally it still
prints to stdout, but only until the program and its dependencies are
loaded. Failed attempts to load add-ons and the like doesn't pollute
stdout anymore.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25437 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-05-10 22:21:52 +00:00
Ingo Weinhold
7b54413e91 Typo, spotted by Andreas Faerber.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25436 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-05-10 21:52:44 +00:00
Ingo Weinhold
a636a33926 Use the new B_ABSOLUTE_REAL_TIME_TIMEOUT. Fixes pthread_cond_timedwait()
and pthread_mutex_timedlock() which were waiting system time relative
although their timeout parameter is Epoch relative.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25435 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-05-10 21:44:03 +00:00
Ingo Weinhold
4d3680aaef Added timeout constant B_ABSOLUTE_REAL_TIME_TIMEOUT which specifies a
timeout relative to the Epoch.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25434 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-05-10 21:34:51 +00:00
Ingo Weinhold
b932012815 Patch by Andreas Faerber:
Replaced single-line comments by multi-line comments for ANSI C
compliance.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25433 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-05-10 21:30:34 +00:00
Michael Lotz
bb90c2a603 * Clear the endpoints of an alternate interface that is going away before
updating the active pointer as otherwise the endpoints of the new alternate
  would have been cleared instead of the old one (leaking endpoints).
* Only clear and re-initialize the endpoints of the interface we are setting
  an alterntate. Otherwise we tear down all the device endpoints which would
  result in a bad situation for composite devices where multiple drivers may
  use different functions (through different interfaces) of a device side by
  side.
* Minor cleanup.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25432 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-05-10 21:09:44 +00:00
Ingo Weinhold
899aa8e1f6 Moved setjmp() to sigsetjmp.S for ppc and m68k, too. Should fix the
kernel build. Haven't tested it though.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25431 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-05-10 18:10:15 +00:00
Ingo Weinhold
eb1a8c446e siglongjmp() calls __longjmp_return() also on x86, now. This resets the
signal mask as required. and also makes my recent return value fix
unnecessary, since __longjmp_return() already does that.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25430 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-05-10 18:05:41 +00:00
Ingo Weinhold
8bba1c2637 Forgot to check this one in. setjmp.S is no more.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25429 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-05-10 17:39:29 +00:00
Ingo Weinhold
ad7ff929dd Reimplemented setjmp(). It no longer offsets the caller's esp.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25428 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-05-10 17:16:09 +00:00
Ingo Weinhold
c306892e40 Fixed my fix. It would always return 1 now.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25427 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-05-10 17:10:15 +00:00
Ingo Weinhold
d5becaf83b Test for setjmp() that demonstrates why it isn't a good idea to
manipulate the stack pointer as we do.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25426 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-05-10 16:26:05 +00:00
Ingo Weinhold
378a1cbb0c Added poll() kernel tracing.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25425 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-05-10 16:23:48 +00:00
François Revol
8e3b6823f2 Don't ue ioctl('ichr') for Haiku, we support select().
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25424 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-05-10 14:53:02 +00:00
Jérôme Duval
1439f59995 update pci ids
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25423 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-05-10 14:13:35 +00:00
Jérôme Duval
bf8dccad97 added a few more models for reversed enable amp
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25422 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-05-10 14:09:06 +00:00
Jérôme Duval
07a6286989 B_ZENKAKU_HANKAKU doesn't need B_COMMAND_KEY (I misunderstood the patch).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25421 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-05-10 13:52:53 +00:00
Jérôme Duval
3272810db4 * synched license terms with current
* minor space cleanup
* support for revert enable amp for known models


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25420 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-05-10 13:44:38 +00:00
François Revol
3082bb7d0c added a dumpState() call to help debugging EscParse
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25419 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-05-10 13:30:15 +00:00
Jérôme Duval
4d25ad47a9 * added pci id for Nvidia Nforce MCP04 AC97 in auich
* clean up the pci ids


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25418 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-05-10 13:05:52 +00:00
Axel Dörfler
14cc96293c * Turned off replicant handle for the time being; it's not really usable as
a replicant yet.
* Improved CSS producing code.
* Cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25417 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-05-10 12:55:53 +00:00
Jérôme Duval
ba64d8928a * added B_KATAKANA_HIRAGANA and B_ZENKAKU_HANKAKU (used in Japanese keymap)
* Patch by Shinta: switch between input methods are now not only done with Alt+Space but Alt+Zenkaku/Hankaku.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25416 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-05-10 12:38:57 +00:00
Stephan Aßmus
310930fd9e Applied patch by Philippe Saint-Pierre:
* Extended the scope of the Revert feature to include changes to the time zone.
* Moved the Revert button out of the tab view, so that it indicates the above
  visually. The window now handles the Revert feature.
* Added Others/Greenwhich time zone which is equivalent to an "unset" time zone.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25415 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-05-10 12:24:27 +00:00
Axel Dörfler
1da9f5cea5 * Added BDiskSystem::ShortName() and everything needed to get it there.
* Added BDiskDeviceRoster::GetDiskSystem() method, that can get a disk system
  by short/pretty/module name - since they should all be unique, I put them
  in a single namespace, please complain if you don't like that :-)
* Cleaned up DiskSystem.h and DiskDeviceRoster.h according to the updated
  header guidelines.
* Renamed ntfs pretty name from "ntfs File System" to "Windows NT File System".


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25414 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-05-10 11:44:00 +00:00
Stephan Aßmus
36e12bef8f Applied patch by SHINTA to enable Zenkaku/Hankaku key codes in Japanese keymap.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25413 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-05-10 11:41:28 +00:00
Stephan Aßmus
d77a8d47d2 * Used ui_color() for default view color.
* Fixed Track and Disc time labels to be large enough. (Fixes #2201.)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25412 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-05-10 11:27:48 +00:00
François Revol
901e5756cb Indeed we don't need this signal hack for BeOS, we just need to tell it the pgid. That reduces the number of things to remove later ;)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25411 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-05-10 11:22:18 +00:00
Stephan Aßmus
572ff7ee4a Fix a few minor coding style violations.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25410 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-05-10 11:12:23 +00:00
François Revol
8bbf2fc768 - some more ANSI attributes
- changed comments to pragma comments for parse tables as it's huge, but sadly Pe doesn't make them clickable in the function list...


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25409 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-05-10 02:48:57 +00:00
François Revol
ac7f526d3c - dump termios struct for ttys
- implement VMIN & VTIME, at least it seems to work but it's 4am and it's overly weird, so please review.
See http://man.cx/termios and http://www.unixwiz.net/techtips/termios-vmin-vtime.html .


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25408 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-05-10 02:07:12 +00:00
Ingo Weinhold
c44fb2a62c Advisory locking fixes:
* Made the access strategy to vnode::advisory_locking consistent.
  get_advisory_locking() was guarding it with sVnodeMutex,
  create_advisory_locking() was using atomic_pointer_test_and_set(), and
  release_advisory_lock() just set it unguardedly. We do use sVnodeMutex
  consequently, now.
* Beautified create_advisory_locking() (got rid of the gotos,
  reorganized the control flow).
* Fixed race conditions in acquire_advisory_lock(). It was always
  unlocking and relocking the advisory_locking object when it didn't
  have to wait, but in the meantime someone else could have changed the
  locking situation. Reorganized the control flow, so that it only drops
  the lock when it has to fail or wait. Using create_advisory_locking()
  upfront simplifies the code quite a bit (and fixes another race
  condition).

APR's testprocmutex test seems happy now, at least.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25407 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-05-10 00:53:13 +00:00
Axel Dörfler
078d0317d0 * Work in progress: driver loading triggered by devfs.
* get_driver() now returns a result, as you may theoretically call it on
  any node (and not just your parent, which is guaranteed to be there).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25406 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-05-09 22:05:50 +00:00
François Revol
4b48c06f26 - dump winsize info too.
- prepare for VTIME and VMIN handling: allow waiting with timeout.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25405 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-05-09 21:48:59 +00:00
Ingo Weinhold
536f5d515a Don't create anything in a removed directory. Axel, please review. I
don't see how the locking in Remove()/Create() works.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25404 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-05-09 21:21:22 +00:00
Ingo Weinhold
156c744335 The terminal is not supposed to send signals to the shell. That's done
by the tty. Now I also understand the BeOS work-around to ignore SIGINT
in bash I removed recently.
I suppose the signal code is still needed for BeOS. If not please remove
it.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25403 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-05-09 20:37:45 +00:00