[Mew-dist 10243] Re: im-123

SAKAI Kiyotaka ksakai at example.com
1999年 8月 20日 (金) 10:00:41 JST


>> In article <19990819094053E.kimai at example.com>, IMAI Kenichi <kimai at example.com> writes:

> こうしないといけない気がしますがいかがでしょうか?

> *** IM/Config.pm.in.orig        Wed Aug 18 19:35:14 1999
> --- IM/Config.pm.in     Thu Aug 19 09:27:02 1999
> ***************
> *** 67,73 ****
>   $exec_prefix= "@exec_prefix@";
>   $IM_LIBDIR  = "@libdir@/im";
>   $IM_DB_TYPE = '@im_db_type@';
> ! $FSYNC_NO = @im_fsync_no@;
  
>   sub file_attr () {
>       return @im_file_attr@;
> --- 67,73 ----
>   $exec_prefix= "@exec_prefix@";
>   $IM_LIBDIR  = "@libdir@/im";
>   $IM_DB_TYPE = '@im_db_type@';
> ! $FSYNC_NO = '@im_fsync_no@';
  
>   sub file_attr () {
>       return @im_file_attr@;

これは意図したコードで、detect できたときは $FSYNC_NO に数字が、そうで
ないときは undef が入るようになっています。

もしこれが問題になるようでしたら、他の箇所を修正する必要があると思いま
すので、このように考えられた理由を教えて頂けないでしょうか。

あと fsync() のコードですが、以下のようにするべきでした。

ただ、SYS_fsync の値は configure の時点で決定済みと決定して、
  unless (defined($sys_fsync))
以下のコードは消してしまってもいいかもしれません。
-- 
酒井 清隆 (E-mail: ksakai at example.com)
-------------- next part --------------
Index: MsgStore.pm
===================================================================
RCS file: /home/ksakai/cvsroot/im-123/IM/MsgStore.pm,v
retrieving revision 1.1.1.1
diff -u -r1.1.1.1 MsgStore.pm
--- MsgStore.pm	1999/08/20 00:40:38	1.1.1.1
+++ MsgStore.pm	1999/08/20 00:50:32
@@ -296,8 +296,12 @@
 sub fsync ($) {
     my $fno = shift;
 
-    return syscall(fsync_no(), $fno);
-    
+    if (fsync_no()) {
+	# try to use SYS_sync number detected when configure
+	return syscall(fsync_no(), $fno);
+    }
+
+    # otherwise, try to find from header files
     unless (defined($sys_fsync)) {
 	my $inc = 'syscall.ph';		# only for BSDs?
 	my $prefix;


Mew-dist メーリングリストの案内