gencore() does not dump core of shared memory segments
I have a simple program program that calls gencore() system call to dump core of process image. This program attches to a shared memory segment before calling gencore().
But the generated core does not conatin the dump of shared memory segment. I changed the ulimit to unlimited. I could not find any flag that needs to be set to achieve this.
Then I changed my program so that it would call riase(SIGABRT) and before that I set a few flags like this
struct sigaction action;
action.sa_flags = SA_FULLDUMP;
action.sa_handler = SIG_DFL;
sigaction(6, &action, NULL);
fprintf(stderr,"dumping the core\n");
This SA_FULLDUMP allowed the shared memory segments to be dumped as well. By default that is not enabled. II program is working perfectly fine. But I want to use gencore routine only.
Does anyon know which flags to set to make gencore() dump shared memory segments also?
Thanks in advance