Commit Graph

9353 Commits

Author SHA1 Message Date
Axel Dörfler
c2289a8876 Changed the way a dying thread propagates its exit status and reason: we
no longer abuse the semaphore mechanism to carry an extra status value,
instead, wait_for_thread() registers a death_entry with the thread that
will be filled upon exit.
Removed delete_sem_etc() as it's no longer of use or available.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9323 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-13 14:52:52 +00:00
Axel Dörfler
2500c27b92 Began work for waitpid() functionality.
Changed the way a dying thread propagates its exit status and reason: we
no longer abuse the semaphore mechanism to carry an extra status value,
instead, wait_for_thread() registers a death_entry with the thread that
will be filled upon exit.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9322 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-13 14:50:52 +00:00
Axel Dörfler
822e4e0b41 suspend_thread() and resume_thread() no longer have the B_DO_NOT_RESCHEDULE
flag set.
Fixes _user_wait_for_thread() which returned an invalid return code in case
of error.
Some minor cosmetics.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9321 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-13 13:10:27 +00:00
Philippe Houdoin
8880d1a7b4 Fix build issue raised by changes in notify_select_event() prototype.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9320 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-13 10:29:00 +00:00
Philippe Houdoin
b6e6c72041 Now using TRACE() macro for debug outputs.
Debug output display opcode name instead of just this unfriendly hex value.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9319 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-13 10:00:01 +00:00
Philippe Houdoin
6e177b5562 Small autosizing enhancement.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9318 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-13 09:56:28 +00:00
Philippe Houdoin
e35b498755 Small changes that were never comitted.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9317 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-13 09:52:32 +00:00
Philippe Houdoin
def78b567a Add setenv() & co to librld.a as our runtime linker will need them...
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9316 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-13 09:49:14 +00:00
Philippe Houdoin
08130f16ce Fix About Box project name.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9315 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-13 09:47:07 +00:00
Philippe Houdoin
71bff49f93 Fixed a warning.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9314 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-13 09:41:36 +00:00
Philippe Houdoin
f0b122701b Fix warnings about conflicts between KernelExport.h's user_memcpy/_strlcpy() and
kernellland_emu.cpp implementation.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9313 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-13 09:06:25 +00:00
Jérôme Duval
85bf8fb207 Fixed delete key for Hungarian keymap. Thanks to Barna ( jedimaster at egoldal.net ).
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9312 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-13 08:23:35 +00:00
Stefano Ceccherini
8b1a3af3db Fixed ps2/at keyboard driver. I've started using this as my default keyboard driver on r5, so I can test it and implement what's missing (mostly settings ioctls).
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9311 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-13 06:34:37 +00:00
Axel Dörfler
4609c64d48 The %fs register is used by user space TLS - it is CPU dependent, and must
not be restored from the iframe; it will be set by the scheduling code.
This is only of concern on SMP machines and could prevent TLS from working.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9310 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-12 22:42:22 +00:00
Axel Dörfler
2740dedc5b Added thread-safe pthread_atfork() support.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9309 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-12 16:44:40 +00:00
Axel Dörfler
81d4f788a2 Added and implemented atfork() - note, this function is not part of POSIX
and should go away over time.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9308 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-12 16:37:39 +00:00
Axel Dörfler
10031c3053 Added and implemented pthread_atfork().
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9307 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-12 16:36:12 +00:00
Axel Dörfler
c0126bf6e4 Now uses the prototype definitions of libroot_private.h instead of defining
them locally.
Added __init_fork().


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9306 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-12 16:35:02 +00:00
Axel Dörfler
0214622f56 Renamed __init__dlfcn() to __init_dlfcn(), moved prototype to libroot_private.h header.
Made it less vulnerable to thread-safety issues; it could occassionally return an
error when there was an error in a concurrent dlfcn function.
Renamed global static variables to have the "s" prefix.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9305 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-12 16:33:45 +00:00
Axel Dörfler
320f1cc118 Renamed __init__image() to __init_image(), moved prototype to libroot_private.h header.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9304 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-12 16:31:35 +00:00
Axel Dörfler
210ac2cd85 Added some prototypes of private support functions for fork().
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9303 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-12 16:28:25 +00:00
Axel Dörfler
709d033403 Added prototypes for __init_image() and __init_dlfcn() so that they don't have
to be defined in the source files anymore.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9302 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-12 16:26:44 +00:00
Axel Dörfler
45b820dd77 Made header C++ safe, added prototype for pthread_atfork().
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9301 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-12 16:25:07 +00:00
Philippe Houdoin
6cb1baaec6 Fixed warning about default argument value in implementation.
StringItem.h is not BeOS R5's source compatible, now include ListItem.h instead, which is.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9300 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-12 15:35:33 +00:00
Philippe Houdoin
1445ff4a06 Backup /etc/* network config files too. Update the README.html, still in needs
for more details...


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9299 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-12 13:50:30 +00:00
Stefano Ceccherini
5a745a2134 Applied a patch by BiPolar, which fixes the second wheel handling (can't test as I don't have a two wheeled mouse).
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9298 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-12 10:00:48 +00:00
Stefano Ceccherini
6a2b2afab3 Switched to "DEBUG" from "TRACE_MOUSE". That way it's easier to enable syslogging in the driver
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9297 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-12 09:52:57 +00:00
Axel Dörfler
fdbd1b5d7b fork_team() is working now! It might not be 100% complete (signal handling),
but the kernel part seems to work good enough for now.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9296 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-12 04:03:52 +00:00
Axel Dörfler
a8673f45bf Added prototypes for arch_{store|restore}_fork_frame().
Removed broken arch_thread::current_iframe field.
Introduced new arch_fork_arg structure.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9295 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-12 03:57:31 +00:00
Axel Dörfler
a52cce2963 Moved thread_kthread_{entry|exit}() to where they are found easier.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9294 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-12 03:55:46 +00:00
Axel Dörfler
3490a4becc No longer needs the arch_thread.h header.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9293 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-12 03:54:03 +00:00
Axel Dörfler
adf29fcdda Removed the broken arch_thread::current_iframe field and switched to the
same mechanism as NewOS, ie. using the iframe "stack" pointer (using the
new i386_get_current_iframe() function).
Implemented fork() support functions arch_{store|restore}_fork_frame().


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9292 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-12 03:52:53 +00:00
Axel Dörfler
21942ca92a The arch_thread::current_iframe was not only redundant, but also incorrectly
maintained. Removed it completely.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9291 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-12 03:48:51 +00:00
Axel Dörfler
27d0a0aaff Implemented new i386_restore_frame_from_syscall() function needed by fork().
Added some comments.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9290 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-12 03:47:09 +00:00
Axel Dörfler
8bf77a7332 _get_next_area_info() skipped every second area if they were adjacent.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9289 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-12 02:50:30 +00:00
Philippe Houdoin
16bf4f998b Package rule was wrongly placed!
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9288 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-12 01:07:45 +00:00
Philippe Houdoin
7dab30dbf7 Move README.html upper.
Add an install script to haiku-networkingkit-cvs package, featuring an
uninstall.zip backup creation.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9287 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-12 00:51:22 +00:00
Stefano Ceccherini
cbc9d62f52 Fixed issue with Lock/UnlockStaticBuffer() on R5
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9286 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-11 23:33:01 +00:00
Stefano Ceccherini
9edda3ec6d cbuf.h now includes OS.h and not kernel.h anymore. This fixes a strange issue in building the ps2 mouse driver. Thanks to Axel for the advice
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9285 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-11 23:14:49 +00:00
Stefano Ceccherini
c6a2e89fec Fixed small typos in the comments
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9284 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-11 14:43:32 +00:00
Stefano Ceccherini
2910a19bbf Added an ifdef around static variables, so we use beos ones when COMPILE_FOR_R5 is defined.
That makes testing TextView under beos possible, again.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9283 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-11 13:43:39 +00:00
Axel Dörfler
d3ddbef95c vm_copy_on_write_area() did not correctly set the upper cache_ref - vm_cache's
pointer to the ref was not set (resulting in a crash).


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9282 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-11 12:23:02 +00:00
Axel Dörfler
41dbd5191c Fixed vm_copy_area() when B_CLONE_ADDRESS was specified (insert_area() does not
know about this specifier, it has to be replaced by B_EXACT_ADDRESS).


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9281 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-11 12:02:20 +00:00
Stefano Ceccherini
53a74c2fa2 Fixed the build
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9280 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-11 08:17:38 +00:00
Axel Dörfler
71eeb427c3 Implemented team_get_address_space() which gets you a pointer to the
team's address space - for internal use, anyway.
Added a ToDo: item to exec_team() to remind me of alarms and signals.
Started implementing fork_team() based on team_create_team() - it's not
completed (or even works), though.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9279 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-10 17:30:42 +00:00
Axel Dörfler
f3c2082a3d Added prototype for new team_get_address_space() function.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9278 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-10 17:26:34 +00:00
Axel Dörfler
7bb329730d vm_delete_areas() didn't do any locking, but the address space region list
must not be accessed without it.
Implemented _get_next_area_info() and _user_get_next_area_info().


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9277 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-10 17:23:54 +00:00
Axel Dörfler
b9d74a6b88 Added vm_delete_aspace() again - unlike before, it now also puts the last
reference to the address space, so that the calling team deletion function
doesn't have to do this.
delete_address_space() doesn't have to delete any areas anymore, since
at the point it's called, there is no area anymore, anyway: each area
holds a reference to the address space.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9276 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-10 17:21:38 +00:00
Michael Pfeiffer
05ab7b5c32 Set the page origin to the left/top point of the printable rectangle (was page rectangle).
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9275 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-10 15:44:51 +00:00
Michael Pfeiffer
fecfb1dcff Fixed bug where pages following the first physical page were omitted.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9274 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-10 15:42:47 +00:00