patch-2.3.41 linux/arch/sparc64/solaris/misc.c
Next file: linux/drivers/block/Config.in
Previous file: linux/arch/sparc64/mm/init.c
Back to the patch index
Back to the overall index
- Lines: 40
- Date:
Thu Jan 27 06:32:14 2000
- Orig file:
v2.3.40/linux/arch/sparc64/solaris/misc.c
- Orig date:
Fri Jan 21 18:19:16 2000
diff -u --recursive --new-file v2.3.40/linux/arch/sparc64/solaris/misc.c linux/arch/sparc64/solaris/misc.c
@@ -242,8 +242,10 @@
/* Let's cheat */
set_utsfield(((struct sol_uname *)A(buf))->sysname,
"SunOS", 1, 0);
+ down_read(&uts_sem);
set_utsfield(((struct sol_uname *)A(buf))->nodename,
system_utsname.nodename, 1, 1);
+ up_read(&uts_sem);
set_utsfield(((struct sol_uname *)A(buf))->release,
"2.6", 0, 0);
set_utsfield(((struct sol_uname *)A(buf))->version,
@@ -263,7 +265,7 @@
asmlinkage int solaris_utsname(u32 buf)
{
/* Why should we not lie a bit? */
- down(&uts_sem);
+ down_read(&uts_sem);
set_utsfield(((struct sol_utsname *)A(buf))->sysname,
"SunOS", 0, 0);
set_utsfield(((struct sol_utsname *)A(buf))->nodename,
@@ -274,7 +276,7 @@
"Generic", 0, 0);
set_utsfield(((struct sol_utsname *)A(buf))->machine,
machine(), 0, 0);
- up(&uts_sem);
+ up_read(&uts_sem);
return 0;
}
@@ -300,8 +302,10 @@
case SI_SYSNAME: r = "SunOS"; break;
case SI_HOSTNAME:
r = buffer + 256;
+ down_read(&uts_sem);
for (p = system_utsname.nodename, q = buffer;
q < r && *p && *p != '.'; *q++ = *p++);
+ up_read(&uts_sem);
*q = 0;
r = buffer;
break;
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)