Commit Graph

34384 Commits

Author SHA1 Message Date
François Revol
092cf00807 Fix broken TRACE() arg. Add more tracing to spot a crash on unmount after deleting a folder. Return B_OK from read() when node has no data, this allows copying bookmarks which are empty files.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36080 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-04-08 01:35:58 +00:00
François Revol
ce7942c6e0 More argument fixing.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36079 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-04-08 00:36:52 +00:00
François Revol
62e2a8fccf Add googlefs back to the image, as it's working now.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36078 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-04-07 23:27:03 +00:00
François Revol
8b1460ce94 It's working, it's working !
- put_vnode() also had a signature change,
- add backup server (commented) in config file,
- disable trace build,
- some cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36077 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-04-07 22:33:23 +00:00
Ingo Weinhold
078dbb2d0e Defined more sysconf() and _POSIX_* constants required by POSIX.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36074 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-04-07 18:52:25 +00:00
Ingo Weinhold
f603ab3c58 Disabled more unused code (the cache allocation is disabled, so no need for
deallocation).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36073 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-04-07 18:51:00 +00:00
Ingo Weinhold
1f285441c3 Define B_GENERAL_ERROR_BASE to INT_MIN instead of LONG_MIN. On 32 bit
platforms it's the same value, but we actually want type int, not long.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36072 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-04-07 18:49:04 +00:00
Ingo Weinhold
b4ab2a2c37 Fixed incorrect assumption that pid_t is int.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36071 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-04-07 18:32:47 +00:00
Ingo Weinhold
57ebe59dfd SEM_VALUE_MAX is not POSIX. Use sysconf(_SC_SEM_VALUE_MAX) instead.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36070 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-04-07 18:30:57 +00:00
Ingo Weinhold
e327fa52fe Missing return value.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36069 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-04-07 18:29:25 +00:00
Ingo Weinhold
dff3f62071 pthread_exit() cannot return, but the "noreturn" attribute is really a compiler
feature (which we haven't set yet). So return some dummy value.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36068 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-04-07 18:27:34 +00:00
Ingo Weinhold
814f5ae159 SEM_VALUE_MAX is not POSIX. Use sysconf(_SC_SEM_VALUE_MAX) instead.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36067 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-04-07 18:24:13 +00:00
Ingo Weinhold
8e69b283a4 PTHREAD_ONCE_INIT only needs to be a valid initializer.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36066 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-04-07 18:18:11 +00:00
Ingo Weinhold
72d74075da Prevent unused variable errors in case CLOCK_REALTIME is not defined.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36065 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-04-07 18:16:12 +00:00
Ingo Weinhold
a06cec2fdf <features.h> is not POSIX.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36064 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-04-07 18:14:34 +00:00
Ingo Weinhold
b22623ba6a Prevent clashes with non-POSIX macros that are (or were?) still part of some
standard and are defined in our headers.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36063 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-04-07 18:13:49 +00:00
François Revol
4358b19156 Of course, filling in the vnode ops for xattrs will help :D
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36062 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-04-07 17:42:03 +00:00
François Revol
507f27c458 Seems get_vnode() also had some changes in arguments. Now googlefs mounts and shows on the desktop. Seems xattrs aren't readable yet though.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36061 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-04-07 17:26:02 +00:00
François Revol
cdf1815cd7 Fix various prototype errors due to changes in the VFS, mostly fs_node vs fs_vnode->private_node. This should fix obvious crashes.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36060 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-04-07 15:56:08 +00:00
Clemens Zeidler
cb58e3f784 Rescue acpi irq stuff from my defect laptop. Code is disabled and should't to any harm.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36059 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-04-07 12:50:55 +00:00
Axel Dörfler
7f0bff63d0 * Fixed typo.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36058 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-04-07 07:05:20 +00:00
Matt Madia
b654ef7d7e Added a CLI application "setwep", contributed by Alex Botero-Lowry. It is a
temporary means for joining an unencrypted or WEP encrypted wifi network.
setwep works with 64- and 128-bit WEP and supports both text keys as well as
hex digit keys.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36057 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-04-07 04:37:00 +00:00
Ingo Weinhold
6f33e7286f Handle sigaction[_etc]() return value correctly (it's not an error code).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36056 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-04-06 20:24:23 +00:00
François Revol
9f747e6715 Fix TRACE build. Fix a crash due to a changed arg to googlefs_publish_static_entries() that wasn't reflected. Mounts but still crashes as Tracker tries to open something.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36055 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-04-06 20:23:41 +00:00
Ingo Weinhold
2be99447d8 * Added some comments to the thread flags.
* Added new thread flag THREAD_FLAGS_ALWAYS_RESTART_SYSCALL. If set, it forces
  syscall restart even when a signal handler without SA_RESTART was invoked.
* Fixed sigwait(): If one of requested signals wasn't already pending it would
  never wake up. Also, the syscall always needs to be restarted, if interrupted
  by another signal.
* Renamed a bunch of the POSIX signal function implementations which did return
  an error code directly (instead via errno). Added correct POSIX functions
  where needed.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36054 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-04-06 20:23:18 +00:00
François Revol
8c3082077f The mighty GoogleFS builds again for Haiku \o/
Still lotsa warning and panics on mount though...


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36053 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-04-06 19:43:27 +00:00
Stefano Ceccherini
393127df0f Use %c to print uint8. This avoids a crash. I'm not sure this is a gcc bug,
or we were using the previous form incorrectly. Anyway, this doesn't change
the functionality and fixes ticket #5676.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36052 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-04-06 19:06:55 +00:00
Ingo Weinhold
d888ea5d13 Fixed out of bounds array access.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36051 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-04-06 18:44:58 +00:00
Ingo Weinhold
2b76954997 Removed tests that tested undefined behavior:
* Calling pthread_{join,detach}() on non-joinable threads.
* Calling mutexattr_setpshared() on uninitialized object.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36050 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-04-06 18:44:18 +00:00
François Revol
185b8ae6b0 Hmm, we'll move it elsewhere anyway.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36047 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-04-06 18:06:05 +00:00
Ingo Weinhold
5a0b30dbda Don't cancel the alarm on exec*(). POSIX alarm() requires that. The BeBook
doesn't mention the expected set_alarm() behavior. Tests under BeOS R5 Bone
crash the system in either case, though, so I guess we're free to go with the
expected POSIX behavior.
This make detection of hanging tests in the Open POSIX Test Suite work.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36046 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-04-06 17:06:08 +00:00
François Revol
4e8d74eed5 Keep the BeOS compatible kernel interface here for now.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36045 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-04-06 15:00:24 +00:00
François Revol
80858f95df The Haiku kernel now exports BSD socket calls directly.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36044 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-04-06 14:53:03 +00:00
Ingo Weinhold
3b589a0fb7 Enable the mapping to positive POSIX error codes.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36043 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-04-05 19:21:50 +00:00
Ingo Weinhold
691b9fac72 Left-over from before splitting the files. Duplicate definitions.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36042 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-04-05 17:11:41 +00:00
Ingo Weinhold
02e6d76c9c Replaced enums by macros as required by POSIX.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36041 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-04-05 17:05:25 +00:00
Ingo Weinhold
4142e99f09 Copied Open POSIX Test Suite 1.5.2 to the trunk.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36040 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-04-05 13:10:28 +00:00
Ingo Weinhold
93de3bca5f Removed partial (unknown version) Open POSIX Test Suite from the build.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36039 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-04-05 13:09:20 +00:00
Ingo Weinhold
ca2bd87dd3 Removed PosixTestSuite optional package.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36038 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-04-05 13:06:17 +00:00
Ingo Weinhold
4f774c503c * VMArea::Unwire(addr_t, size_t, bool): Don't delete the removed range, but
return it.
* lock_memory_etc(): On error the VMAreaWiredRange object could be leaked.
* [un]lock_memory_etc(): Call VMArea::Unwire() with the cache locked and
  explicitly delete the range object after unlocking the cache to avoid
  potential deadlocks.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36035 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-04-05 12:12:36 +00:00
David McPaul
63f8d1346e Remove downmix to stereo workaround.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36034 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-04-05 11:37:43 +00:00
Ingo Weinhold
369111e741 * Removed the VMArea::Wire() version that has to allocate a VMAreaWiredRange.
Since the requirement is that the area's top cache is locked, allocating
  memory isn't allowed.
* lock_memory_etc(): Create the VMAreaWiredRange object explicitly before
  locking the area's top cache.

Fixes #5680 (deadlocks when using the slab as malloc() backend).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36033 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-04-05 11:08:01 +00:00
Stephan Aßmus
4c587ade77 Patch by Adam Smith. Extended the Pairs application to support arbitrary board
sizes. Thanks a lot! Fixes ticket #5615.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36032 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-04-05 10:46:08 +00:00
Jonas Sundström
523f15a901 Misspelling, reported by eml.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36031 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-04-04 22:51:34 +00:00
Ingo Weinhold
550376ffb8 * vm_delete_areas(): Changed return type to void (was status_t and not used).
* _user_map_file(), _user_unmap_memory(): Verify that the address (if given) is
  page aligned.
* Reworked memory locking (wiring):
  - VMArea does now have a list of wired memory ranges and supports waiting for
    a range to be removed.
  - vm_soft_fault():
    - Added "wirePage" parameter that, if given, makes the function wire the
      page and return it.
    - Added "wiredRange" parameter (for calls from lock_memory_etc()) and made
      sure we never unmap wired pages. This could e.g. happen when a page from a
      lower cache was read-mapped and a write fault occurred. Now in such a
      situation the function waits for the page to be unwired and restarts.
  - All functions that manipulate areas in a way that could affect wired ranges
    do now either require the caller to make sure there are no wired ranges in
    the way or do that themselves. Added a few wait_if_*_is_wired() helper
    functions for that purpose.
  - lock_memory_etc():
    - Does now also work correctly when the range spans more than one area.
    - Adds VMAreaWiredRanges to the affected VMAreas and retains an address
      space reference (so that the address space won't be deleted as long as a
      wired range exists).
    - Resolved TODO: The area's caches are now locked when
      increment_page_wired_count() is called.
    - Resolved TODO: The race condition due to missing locking after looking up
      the page mapping is now prevented. We hold the cache locks (in case the
      page is already mapped) and the new vm_soft_fault() parameter allows us
      to get the page wired.
  - unlock_memory_etc(): Changes symmetrical to those in lock_memory_etc() and
    resolved all TODOs.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36030 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-04-03 18:01:29 +00:00
Ingo Weinhold
21ff565f76 AddressSpaceWriteLocker: Added VMAddressSpace* constructor and SetTo()
versions.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36029 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-04-03 16:11:47 +00:00
Oliver Ruiz Dorantes
4d291edb32 Â- Use given macro for system team, thanks Jerome
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36028 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-04-02 13:37:16 +00:00
Oliver Ruiz Dorantes
62f5ba006a - Read Local features al LocalDevice constructor
- keep record in UL and KL side



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36027 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-04-02 12:12:29 +00:00
Oliver Ruiz Dorantes
0feca7d685 - Prepending l2cap header in a separate function to not play with c++ contexts
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36026 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-04-02 11:42:00 +00:00
Oliver Ruiz Dorantes
2e26da485a - In the case the port is created in Kernel context force it to stay in kernel team,
as the creation can be initated by a UL thread



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36025 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-04-02 11:31:39 +00:00