Hi Satoshi-san,

On Tue, Sep 09, 2008 at 04:31:25PM +0900, OKADA Satoshi wrote:
> Hi,
> 
> I got unexpected ERROR message when I tested Heartbeat process failure.
> 
> ha.cf:
> -----
> crm on
> use_logd on
> keepalive 1
> deadtime 10
> initdead 40
> warntime 5
> udpport 694
> bcast eth0
> node node01
> node node02
> watchdog /dev/watchdog
> -----
> 
> heartbeat version: 2.1.4
> OS version: RHEL 5.1
> 
> The test procedure:
> 1. start heartbeat
> # /etc/init.d/heartbeat start
> 
> 2. kill heartbeat process
> # kill -9 <"heartbeat: write" or "heartbeat: read" process>
> These processes are restarted.
> 
> 3. stop heartbeat
> # /etc/init.d/heartbeat stop
> 
> I get ERROR message in this stop process.
> ---- ha-log -----
> heartbeat[4632]: 2008/09/09_14:43:41 ERROR: Watchdog write
> magic character failure: closing /dev/watchdog!: Bad file descriptor
> heartbeat[4632]: 2008/09/09_14:43:41 ERROR: Watchdog close(2)
> failed.: Bad file descriptor
> -----------------
> 
> I think that this is the same cause as Bugzilla No.1702 and I make patch.
> http://developerbugs.linux-foundation.org/show_bug.cgi?id=1702
> 
> Please check attached patch.

Sorry for the delay on this one.

Your patch looks fine to me. Did you test it?

Thanks,

Dejan

> Best Regards,
> ---
> OKADA Satoshi
> NTT Open Source Software Center
> 

> --- heartbeat/heartbeat.c.orig        2008-09-09 15:08:30.000000000 +0900
> +++ heartbeat/heartbeat.c     2008-09-09 15:10:37.000000000 +0900
> @@ -679,7 +679,7 @@
>                               break;
>  
>               case 0:         /* Child */
> -                             close(watchdogfd);
> +                             hb_close_watchdog();
>                               curproc = &procinfo->info[fifoproc];
>                               cl_malloc_setstats(&curproc->memstats);
>                               cl_msg_setstats(&curproc->msgstats);
> @@ -798,7 +798,7 @@
>                               break;
>  
>               case 0:         /* Child */
> -                             close(watchdogfd);
> +                             hb_close_watchdog();
>                               curproc = &procinfo->info[ourproc];
>                               cl_malloc_setstats(&curproc->memstats);
>                               cl_msg_setstats(&curproc->msgstats);
> @@ -832,7 +832,7 @@
>                               break;
>  
>               case 0:         /* Child */
> -                             close(watchdogfd);
> +                             hb_close_watchdog();
>                               curproc = &procinfo->info[ourproc];
>                               cl_malloc_setstats(&curproc->memstats);
>                               cl_msg_setstats(&curproc->msgstats);

> _______________________________________________________
> Linux-HA-Dev: [email protected]
> http://lists.linux-ha.org/mailman/listinfo/linux-ha-dev
> Home Page: http://linux-ha.org/

_______________________________________________________
Linux-HA-Dev: [email protected]
http://lists.linux-ha.org/mailman/listinfo/linux-ha-dev
Home Page: http://linux-ha.org/

Reply via email to