30 Jun 1999 16:53:53 GMT, Marcin 'Qrczak' Kowalczyk <[EMAIL PROTECTED]> pisze:

> When compiled by ghc-4.02 under Linux (kernel 2.2.10, glibc 2.1),
> it gets SIGSEGV. The directory /var/spool/news/articles/pl/rec/hihot
> contains over 3000 files. The program opens 576 of them and dies.

I accidentally looked into ghc/lib/std/cbits/getLock.c. I don't know
whether this is the reason of the above trouble, but it's horrible:
it blindly adds an entry to writeLock and readLock arrays without
checking for array index overflow. And as I understand it, the
tables may have different sizes when ghc is compiled in different
environments, yes? I have FD_SETSIZE = 1024 here, I don't know what
is in the precompiled ghc.

-- 
 __("<    Marcin Kowalczyk * [EMAIL PROTECTED] http://kki.net.pl/qrczak/
 \__/          GCS/M d- s+:-- a22 C+++>+++$ UL++>++++$ P+++ L++>++++$ E-
  ^^                W++ N+++ o? K? w(---) O? M- V? PS-- PE++ Y? PGP->+ t
QRCZAK                  5? X- R tv-- b+>++ DI D- G+ e>++++ h! r--%>++ y-

Reply via email to