[pgpool-general-jp: 738] Re: Remove unix domain socket file before bind()
Jun Kuriyama
kuriyama+ml @ s2factory.co.jp
2010年 2月 16日 (火) 12:57:46 JST
At Mon, 15 Feb 2010 22:25:24 +0900 (JST),
ishii @ sraoss.co.jp wrote:
> このあたり、実はpgpoolは手を抜いていて、PostgreSQLでは、
>
> ロックファイル(たとえば/tmp.s.PGSQL.5432.lock)を作ってみる
> 作れたら、問答無用でsocket file(たとえば/tmp.s.PGSQL.5432)を削除する
> bindする
>
> という処理の流れになっています。
>
> pgpoolではそこまでやらなくてもよいような気がするので、まあ、bind前に無
> 条件でソケットファイルを消しても良いかもしれませんね。
> 気になるのは、間違って同じソケットファイルをPostgreSQLが使っていたらま
> ずいな、ってことくらいですが、現在のコードでもmyexit()がunlinkしている
> ので、危険度は変わらない...
なるほど。同じように flock(2) するようにすれば同じルールになるので安
心ですね。それくらいなら大して実装コストもかからない気がするので、気が
向いたらやってみる、くらいの宿題にしてみます……。
--
Jun Kuriyama <kuriyama @ s2factory.co.jp> // S2 Factory, Inc.
pgpool-general-jp メーリングリストの案内