> With 32 bit return values, ix86 Linux has a file-size limitation > which is currently about 0x7fffffff. Unfortunately, instead of > returning from a write() with a -1 and errno being set, so that > a program can do something about it, write() executes a signal(25) > which kills the task even if trapped Works For Me(tm) ray:~/work/test/signals$ ls sig.c ray:~/work/test/signals$ tcc -run sig.c write errored seem to have gone overboard, switching to next log file... write errored seem to have gone overboard, switching to next log file... write errored seem to have gone overboard, switching to next log file... ray:~/work/test/signals$ ls -l total 4 -rw------- 1 ray ray 2147483647 Jun 10 15:35 log.0 -rw------- 1 ray ray 2147483647 Jun 10 15:35 log.1 -rw------- 1 ray ray 2147483647 Jun 10 15:35 log.2 -rw------- 1 ray ray 259 Jun 10 15:35 log.3 -rw-r--r-- 1 ray ray 2119 Jun 10 15:33 sig.c ray:~/work/test/signals$ Test code attached. Please excuse the somewhat haphazard structure, it was tossed together from code I'd written for other projects. Ray