.\" .\" Copyright (c) 1996 Julian Elischer .\" .\" All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" .\" THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY EXPRESS OR .\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES .\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. .\" IN NO EVENT SHALL THE DEVELOPERS BE LIABLE FOR ANY DIRECT, INDIRECT, .\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT .\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, .\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY .\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" .\" %FreeBSD: src/share/man/man9/at_fork.9,v 1.9.2.2 2001/01/12 16:16:02 ru Exp % .\" " .Dd August 15, 1996 .Os .Dt AT_FORK 9 .Sh 名称 .Nm at_fork , .Nm rm_at_fork .Nd fork 時に実行される関数の問合せ .Sh 書式 .Fd #include .Fd #include .Ft "typedef void" ( *forklist_fn ) .Fa ( "struct proc*" , "struct proc*" , int ) ; .Pp .Ft int .Fn at_fork "forklist_fn func" .Ft int .Fn rm_at_fork "forklist_fn func" .Sh 解説 .Nm の仕組みは、あらゆるプロセスの fork 時に、 そのことがカーネルモジュールに通知されることを保証します。 関数 .Fa func は、fork しようとしているプロセスの proc 構造体へのポインタ、 子プロセスの構造体へのポインタおよび .Xr rfork 2 で使用される fork の型を示すフラグを引数として呼び出されます。 .Pp 通知に対する必要条件が取り除かれた場合、 .Fn at_fork の呼び出しと正確に一致引数 .Fa func をとって関数 .Fn rm_at_fork を呼び出さなければなりません。 .Pp .Sh 戻り値 .Fn at_fork は errno を返し、0 は成功を意味します。 .Fn rm_at_fork は関数は、削除された項目の個数 (0 または 1 であるべきです) を返します。 .Sh 関連項目 .Xr fork 2 .Sh 歴史 .Fn at_fork 関数は .Fx 2.2 で登場しました。 .Sh 作者 この関数は .An Julian Elischer Aq julian@FreeBSD.org が書きました。