Commit Graph

20 Commits

Author SHA1 Message Date
Axel Dörfler
0b70ea5992 * Implemented sigaltstack() and set_signal_stack(), thus closing bug #1401.
* On exec() the new function thread_reset_for_exec() is called which clears the signals
  and cancels an eventually set alarm. Both things weren't done before...
* Some minor cleanups.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21989 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-08-16 18:01:47 +00:00
Ingo Weinhold
0274089508 Never include anything in an extern "C" block.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21607 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-07-15 00:35:10 +00:00
Axel Dörfler
8fc075ac5c * There was no reason to copy the "userland calls exit_thread()" stub with interrupts
turned off - accessing userland memory. Now, arch_thread_enter_userspace() does that
  job, and as a result, may also fail.
* dump_thread() now directly prints the info of the current thread when used without
  argument (rather than iterating the thread list to look for the current thread).
* If arch_thread_init_tls() fails upon thread creation, the function will now return
  an error.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19775 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-01-12 18:26:32 +00:00
Axel Dörfler
7ed5e61cdb arch_thread_init_tls() now accesses user memory safely, and therefore could now
fail.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19768 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-01-11 18:21:35 +00:00
Ingo Weinhold
fc0eb1b266 Prevent cyclic inclusion.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11473 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-02-24 15:53:12 +00:00
Axel Dörfler
97dda329ed Some header work to reduce dependencies. Also fixes the debug build.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10434 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-12-13 22:22:45 +00:00
Axel Dörfler
63be222e2f Added a arch_thread_init() function prototype.
Changed return types to status_t where appropriate.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9507 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-25 22:08:48 +00:00
shatty
a539f68be5 remove static from non-ARCH_x86 thread function prototypes
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9474 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-24 09:08:37 +00:00
Axel Dörfler
afad65ded7 Replaced all remaining PAGE_SIZE with B_PAGE_SIZE, addr with addr_t.
Removed the definition of PAGE_SIZE and addr.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9433 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-20 00:33:06 +00:00
shatty
c811895a7e static functions need static prototypes
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9390 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-18 09:10:20 +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
8131e02c55 Made C++ safe.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6994 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-03-16 02:24:42 +00:00
Axel Dörfler
7d154f91ff arch_setup_signal_frame() can now fail.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6970 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-03-14 17:58:11 +00:00
Axel Dörfler
c17f45d123 Some header cleanups.
Renamed dbg_save_registers() to arch_...() since it's arch dependent.
Removed unnecessary dependencies to stage2.h.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3138 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-05-03 14:12:16 +00:00
Axel Dörfler
a02a5888af Added another argument parameter for the thread creation code. Helps
implementing a more efficient on_exit_thread().


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3073 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-04-18 09:21:22 +00:00
Axel Dörfler
074a16b53e Added a private tls.h file with definitions for the reserved TLS slots.
Renamed i386_set_kstack() to i386_set_tss_and_kstack(), because that's what
it does.
Added a new function arch_thread_init_tls() which must be called after
having allocated the TLS area.
Renamed arch_thread_initialize_kthread_stack() to arch_thread_init_kthread_stack()
to be more consistent.
Changed the parameters for arch_thread_enter_uspace() - it now gets a pointer
to the thread structure and takes the user stack pointer from there (which
might also be architectural different).


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2379 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-01-07 09:17:31 +00:00
lillo
f510e6ce60 posix signals support, 1st pass
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1623 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-10-23 17:31:10 +00:00
Axel Dörfler
11fe0cb8de Added prototypes for the sys_/user_ attribute calls.
Changed the file_descriptor structure (more status_t, name removed).
Changed "extern inline" to "static inline" in thread.h/arch_thread.h as those
also work with -O0 -g.
Added prototypes for [arch_cpu_]user_strlcpy().


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1454 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-10-08 03:19:57 +00:00
lillo
3cfbecf1a6 First round of big changes: the term team has replaced proc all over the kernel, the few kern_* syscalls have been renamed to sys_* for consistency, and other small changes. The ps app is temporarily disabled until get_next_team_info is implemented.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@557 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-08-03 00:41:27 +00:00
ejakowatz
52a3801208 It is accomplished ...
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-09 12:24:59 +00:00