X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=contrib%2Fsb-posix%2FREADME;h=5448ffea0b9702b851042b4978c3fabe6319e1b9;hb=782a45c5d5000d7e86c83e7b303f15270b1e03c2;hp=0bb884afd96bcd17e6e778dd8d6fdd0c49923a45;hpb=4373334c459af4a06a08db880e613c7aeb4876f7;p=sbcl.git diff --git a/contrib/sb-posix/README b/contrib/sb-posix/README index 0bb884a..5448ffe 100644 --- a/contrib/sb-posix/README +++ b/contrib/sb-posix/README @@ -81,13 +81,20 @@ results if the stream is buffered. A filename is a string. A pathname is a designator for a file-descriptor: the filename is -computed as if by NAMESTRING +computed using the same mechanism as the implementation would +use to map pathnames to OS filenames internally. + +In an implementation that supports pathnames to files on other hosts, +using mechanisms not available to the underlying OS (for example, +using an FTP or HTTP client in the Lisp implementation), the effect +of supplying this interface with a pathname to such a file is undefined. + ** buffer -A buffer is an opaque object with accessors BUFFER-START and -BUFFER-LENGTH, which represents an area of memory that system calls -may access. A buffer can be created using ALLOCATE-BUFFER or GET-BUFFER. +A buffer is an opaque object which represents an area of memory that +system calls may access. It has accessors BUFFER-START and +BUFFER-LENGTH, and can be created using ALLOCATE-BUFFER or GET-BUFFER. [ TODO: GET-BUFFER is a silly name. Come up with a better one ] @@ -212,3 +219,15 @@ See designator.lisp, add a define-designator form The use of DEFINE-CALL macro in interface.lisp should be obvious from the existing examples, if less so from the macroexpansion + + + + +GC issues + +buffers that refer to C stuff are probably not movable by GC anyway + +a buffer that refers to a Lisp object may have trouble if the Lisp +object is moved + +