This is the mail archive of the guile@sourceware.cygnus.com mailing list for the Guile project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: Partial success with prerelease.


| I have downloaded and built the 1.3.4-pre snapshot. No problems on Redhat 5.2 Linux.
| On Ultrix (MIPS) 4.2, with gcc 2.7.2.1, I found a problem. This system is said
| by configure to have restartable system calls, but does NOT define SA_RESTART.

I hadn't realised that could happen.  I've modified scmsig.c to use 
siginterrupt if it's available before falling back to sigaction/SA_RESTART,
or nothing at all.

| This makes libguile/scmsigs.c uncompileable at line 452. I added a nasty extra
| pair of #ifdef SA_RESTART around the if, and then it compiles and runs OK.
| 
| I have not tried this change on the Linux machine, but it seems likely to always
| be safe. I have no idea if the Ultrix guile will suffer from horrible problems;
| can anybody suggest a way to check if the change is harmful. 

It's probably not harmful, since configure is indicating that system
calls are restartable by default.  Setting the action for every signal
at initialisation is now just for paranoia value (since the EINTR
loops won't be compiled around every system call).

The previous behaviour of libguile was to set up all signals to restart
system calls if SA_RESTART was defined, but that doesn't seem correct.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]