[Gd-chatter] r11123 - trunk/libraries/interfaces
hannes at gwydiondylan.org
hannes at gwydiondylan.org
Sat Jan 6 00:15:18 CET 2007
Author: hannes
Date: Sat Jan 6 00:15:17 2007
New Revision: 11123
Modified:
trunk/libraries/interfaces/interfaces.dylan
trunk/libraries/interfaces/module.dylan
Log:
Bug: 7299
*use interruptible-system-call here
Modified: trunk/libraries/interfaces/interfaces.dylan
==============================================================================
--- trunk/libraries/interfaces/interfaces.dylan (original)
+++ trunk/libraries/interfaces/interfaces.dylan Sat Jan 6 00:15:17 2007
@@ -68,13 +68,16 @@
=> (buffer)
let buffer = make(<buffer>, size: $ethernet-buffer-size);
local method unix-receive ()
- let read-bytes = unix-recv-buffer(interface.unix-file-descriptor,
- buffer-offset(buffer, 0),
- $ethernet-buffer-size,
- 0);
+ let fd = interface.unix-file-descriptor;
+ let read-bytes =
+ interruptible-system-call(unix-recv-buffer(fd,
+ buffer-offset(buffer, 0),
+ $ethernet-buffer-size,
+ 0));
if (read-bytes == -1)
//Only want to catch $EINTR, but getting mps assertion failures
- unix-receive();
+ //this is now done via interruptible-system-call macro
+ #f;
else
subsequence(buffer, end: read-bytes);
end if;
Modified: trunk/libraries/interfaces/module.dylan
==============================================================================
--- trunk/libraries/interfaces/module.dylan (original)
+++ trunk/libraries/interfaces/module.dylan Sat Jan 6 00:15:17 2007
@@ -13,6 +13,7 @@
use functional-dylan, import: { <byte-character> };
use dylan-extensions, import: { <byte> };
use unix-sockets, exclude: { send, connect };
+ use sockets, import: { interruptible-system-call };
use C-FFI;
use dylan-direct-c-ffi;
use flow;
More information about the chatter
mailing list