Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 17 May 2012 23:22:38 -0700
From:      Garrett Cooper <yanegomi@gmail.com>
To:        Kevin Lo <kevlo@freebsd.org>
Cc:        svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org
Subject:   Re: svn commit: r227650 - in head: lib/libkiconv sys/conf sys/fs/msdosfs sys/fs/smbfs sys/kern sys/libkern sys/modules/libiconv sys/modules/libmchain sys/netsmb sys/sys
Message-ID:  <9AD9BD15-BC6A-4A85-A7BE-EE315AB39ECF@gmail.com>
In-Reply-To: <201111180305.pAI35LtC045952@svn.freebsd.org>
References:  <201111180305.pAI35LtC045952@svn.freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On Nov 17, 2011, at 7:05 PM, Kevin Lo wrote:

> Author: kevlo
> Date: Fri Nov 18 03:05:20 2011
> New Revision: 227650
> URL: http://svn.freebsd.org/changeset/base/227650
>=20
> Log:
>  Add unicode support to msdosfs and smbfs; original pathes from imura,
>  bug fixes by Kuan-Chung Chiu <buganini at gmail dot com>.
>=20
>  Tested by me in production for several days at work.

Some of the code in this commit breaks unloading of the libiconv module =
(it hard locks on unload). In particular if I do the following=85

Index: /root/current/sys/libkern/iconv_ucs.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- /root/current/sys/libkern/iconv_ucs.c	(revision 235066)
+++ /root/current/sys/libkern/iconv_ucs.c	(working copy)
@@ -373,6 +373,7 @@
 static int
 iconv_ucs_init(struct iconv_converter_class *dcp)
 {
+#if 0
 	int error;
=20
 	error =3D iconv_add(ENCODING_UNICODE, ENCODING_UNICODE, =
ENCODING_UTF8);
@@ -381,6 +382,7 @@
 	error =3D iconv_add(ENCODING_UNICODE, ENCODING_UTF8, =
ENCODING_UNICODE);
 	if (error)
 		return (error);
+#endif
 	return (0);
 }
=20
	Then unload works (maybe at the cost of leaking a converter or =
two). It seems that iconv_unregister_handler succeeds when it's called =
(I inserted some printfs just because), but it might be doing bad things =
because of restructuring that took place in this commit.
Thanks!
-Garrett

PS Committing kern/168095 beforehand may or may not help...=



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?9AD9BD15-BC6A-4A85-A7BE-EE315AB39ECF>