From 82062f804c1106ddc51f22b2b452b45181d3d6c4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fran=C3=A7ois=20Revol?= Date: Mon, 14 Jan 2008 02:03:34 +0000 Subject: [PATCH] Works much better when actually allocating the TLS entry... Now the backend works, Login can list users. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23509 a95241bf-73f2-0310-859d-f6bbb57e9c96 --- headers/private/libroot/libroot_private.h | 1 + src/system/libroot/libroot_init.c | 1 + src/system/libroot/posix/pwd.c | 4 ++++ src/system/libroot/posix/pwd_query.c | 10 ++++------ 4 files changed, 10 insertions(+), 6 deletions(-) diff --git a/headers/private/libroot/libroot_private.h b/headers/private/libroot/libroot_private.h index 96afc23f9c..5742700c93 100644 --- a/headers/private/libroot/libroot_private.h +++ b/headers/private/libroot/libroot_private.h @@ -32,6 +32,7 @@ void __init_heap(void); void __init_time(void); void __arch_init_time(struct real_time_data *data, bool setDefaults); bigtime_t __arch_get_system_time_offset(struct real_time_data *data); +void __init_pwd_backend(void); #ifdef __cplusplus } diff --git a/src/system/libroot/libroot_init.c b/src/system/libroot/libroot_init.c index dab4072388..146f8eeea8 100644 --- a/src/system/libroot/libroot_init.c +++ b/src/system/libroot/libroot_init.c @@ -58,6 +58,7 @@ initialize_before(image_id imageID) __init_fork(); __init_heap(); __init_env(__gRuntimeLoader->program_args); + __init_pwd_backend(); } diff --git a/src/system/libroot/posix/pwd.c b/src/system/libroot/posix/pwd.c index ce6d351b76..855d32af89 100644 --- a/src/system/libroot/posix/pwd.c +++ b/src/system/libroot/posix/pwd.c @@ -133,3 +133,7 @@ getpwuid_r(uid_t uid, struct passwd *passwd, char *buffer, return 0; } +void __init_pwd_backend(void) +{ +} + diff --git a/src/system/libroot/posix/pwd_query.c b/src/system/libroot/posix/pwd_query.c index 65e6f7a695..735d0e8627 100644 --- a/src/system/libroot/posix/pwd_query.c +++ b/src/system/libroot/posix/pwd_query.c @@ -620,9 +620,7 @@ struct passwd *getpwnam(const char *name) } - -void __init_pwd_stuff(void) -//void _multiuser_init(void) +void __init_pwd_backend(void) { /* dev_t for the boot volume */ boot_device = dev_for_path("/boot"); @@ -630,12 +628,12 @@ void __init_pwd_stuff(void) pw_tls_id = tls_allocate(); } -void __fini_pwd_stuff(void) -//void _multiuser_fini(void) +/* +void __fini_pwd_backend(void) { } - +*/ #endif /* REAL_MULTIUSER */