История изменений
Исправление cvs-255, (текущая версия) :
#include <unistd.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <sys/sysinfo.h>
int main(void)
{
struct sysinfo si;
sysinfo(&si);
int size = si.freeram-10000000UL;
char *m = malloc(size);
printf("m = %p\n", m);
memset(m, 0, size);
int fid = fork();
if (fid == 0)
{
printf("I'm a child\n");
while(1);
}
else
{
printf("I'm a parent\nchild pid = %i\n", fid);
usleep(100000UL);
// if (fid > 0)
kill(fid, 9);
}
free(m);
return 0;
}
Запускай от рута
Исходная версия cvs-255, :
#include <unistd.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <sys/sysinfo.h>
int main(void)
{
struct sysinfo si;
sysinfo(&si);
int size = si.freeram-10000000UL;
char *m = malloc(size);
printf("m = %p\n", m);
memset(m, 0, size);
int fid = fork();
if (fid == 0)
{
printf("I'm a child\n");
while(1);
}
else
{
printf("I'm a parent\nchild pid = %i\n", fid);
usleep(100000UL);
// if (fid > 0)
kill(fid, 9);
}
free(m);
return 0;
}