[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 メーリングリストの案内