[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
SCM_SYSCALL
From: |
Ludovic Courtès |
Subject: |
SCM_SYSCALL |
Date: |
Sun, 23 Jun 2013 23:25:10 +0200 |
User-agent: |
Gnus/5.130007 (Ma Gnus v0.7) Emacs/24.3 (gnu/linux) |
Hello Guilers!
We have this (since 2010):
--8<---------------cut here---------------start------------->8---
# define SCM_SYSCALL(line) \
do \
{ \
errno = 0; \
line; \
if (errno == EINTR) \
{ \
SCM_ASYNC_TICK; \
continue; \
} \
} \
while(0)
--8<---------------cut here---------------end--------------->8---
It turns out that the effect upon EINTR is to leave the loop. So
typically, fport_fill_input just throws to system-error and reveals the
EINTR, contrary to SCM_SYSCALL intends to do.
This is easily fixed, but the question is whether this would affect
users in bad ways. For example, applications might be relying on the
ability to do
(catch 'system-error
...
(lambda args
(if (= EINTR (system-error-errno args))
...)))
Should the fix be delayed until 2.2?
WDYT?
Ludo’.
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- SCM_SYSCALL,
Ludovic Courtès <=