berikut cerita lengkapnya ..
baru saja dapat info dari milis linux kernel, dengan linux,
bila fork() gagal maka aplikasi akan menganggapnya sebagai
fatal error, padahal belum tentu.
dulu, gagal setelah kirim dengan concurrency di atas 2048
terjadi karena kasus di atas.
jadi solusinya sederhana (baca: solusi kasar): edit qmail-rspawn.c
dibagian akhir, kira-kira menjadi sbb:
while ((f = vfork()) < 0) if (error_temp(errno)) usleep(100);
if (!f)
{
... child.
}
return f;
ternyata solusinya simple bukan? :-)
yang masih belum terjawab adalah: mengapa atau dalam kondisi
apa saja fork() call bisa gagal (return ENOMEM, EAGAIN etc).
Salam,
P.Y. Adi Prasaja
--
Right or wrong my list. Unsubscribe option is currently unavailable.
Indeed, it's available upon request .. but: cepek dulu donk!