Hi,

I want to do a checkpoint for a multi-process session.
I don't want to use fork so I wrote a script to launch the 2 processes.

In the process which runs the dmtcpCheckpoint () call, I'd like to get
the local status and the name of the checkpoint directory.
The returned pid in uniquePidStr is the pid of the master process
whereas the real directory contains the pid of the script, so I can't
get the name of the checkpoint directory.

I send you a small testcase to reproduce this mismatch.

$ dmtcp_checkpoint run_all
dmtcp_checkpoint (DMTCP + MTCP) 1.2.4
...
Backgrounding...
slave  pid  26619
master pid  26622
Master Checkpointing IN
Master Checkpointing OUT
localStatus->uniquePidStr       1062eb737-26622-507c3871
<<== localStatus->uniquePidStr contains the pid of the master process
ckpt_1062eb737-26612-507c3871_00001                     dmtcp_restart_script.sh 
 master
  master.o  slave    slave.o
dmtcp_restart_script_1062eb737-26612-507c3871_00001.sh  Makefile                
 master.c
<<== the checkpoint directory doesn't match the localStatus->uniquePidStr
run_all   slave.c
Master is alive
Slave is alive

Let me know if there is a better way to checkpoint 2 or more processes
without forking them.

Thanks,
Fred

Attachment: biprocess.tgz
Description: GNU Zip compressed data

------------------------------------------------------------------------------
Don't let slow site performance ruin your business. Deploy New Relic APM
Deploy New Relic app performance management and know exactly
what is happening inside your Ruby, Python, PHP, Java, and .NET app
Try New Relic at no cost today and get our sweet Data Nerd shirt too!
http://p.sf.net/sfu/newrelic-dev2dev
_______________________________________________
Dmtcp-forum mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/dmtcp-forum

Reply via email to