From 4872f5795e786a05519c211d26243ebf2fc10540 Mon Sep 17 00:00:00 2001 From: Nikodemus Siivola Date: Sat, 2 Jun 2007 12:33:42 +0000 Subject: [PATCH] 1.0.6.15: add SB-POSIX:LOCKF * Patch by Zach Beane, also add a CREDITS entry for him. --- CREDITS | 4 ++++ NEWS | 1 + contrib/sb-posix/constants.lisp | 6 ++++++ contrib/sb-posix/interface.lisp | 1 + version.lisp-expr | 2 +- 5 files changed, 13 insertions(+), 1 deletion(-) diff --git a/CREDITS b/CREDITS index 5f5407a45..e74f55da9 100644 --- a/CREDITS +++ b/CREDITS @@ -519,6 +519,10 @@ Daniel Barlow: asdf-install, sb-bsd-sockets, sb-executable, sb-grovel and sb-posix contrib packages. +Zach Beane: + He provided a number of additions to SB-POSIX and implemented the + original timer facility on which SBCL's timers are based. + James Bielman: He assisted in work on the port to the Windows operating system. diff --git a/NEWS b/NEWS index 3a152a47e..259c9edd0 100644 --- a/NEWS +++ b/NEWS @@ -12,6 +12,7 @@ changes in sbcl-1.0.7 relative to sbcl-1.0.6: has the owning thread as its value. * enhancement: name of a socket-stream is now "a socket" instead of "a constant string". + * enhancement: SB-POSIX now supports lockf(). (Thanks to Zach Beane.) * bug fix: the cache used by the CLOS to store precomputed effective methods, slot offsets, and constant return values is now thread and interrupt safe. diff --git a/contrib/sb-posix/constants.lisp b/contrib/sb-posix/constants.lisp index 3e24e0e6d..c65dc5cea 100644 --- a/contrib/sb-posix/constants.lisp +++ b/contrib/sb-posix/constants.lisp @@ -341,6 +341,12 @@ (:integer f-getown "F_GETOWN" nil t) (:integer f-setown "F_SETOWN" nil t) + ;; lockf() + (:integer f-lock "F_LOCK" nil t) + (:integer f-tlock "F_TLOCK" nil t) + (:integer f-ulock "F_ULOCK" nil t) + (:integer f-test "F_TEST" nil t) + ;; tcgetattr(), tcsetattr() #-win32 (:type cc-t "cc_t") diff --git a/contrib/sb-posix/interface.lisp b/contrib/sb-posix/interface.lisp index 07ac6f5ad..67c903545 100644 --- a/contrib/sb-posix/interface.lisp +++ b/contrib/sb-posix/interface.lisp @@ -145,6 +145,7 @@ (define-call "lchown" int minusp (pathname filename) (owner uid-t) (group gid-t)) (define-call "link" int minusp (oldpath filename) (newpath filename)) + (define-call "lockf" int minusp (fd file-descriptor) (cmd int) (len off-t)) (define-call "mkfifo" int minusp (pathname filename) (mode mode-t)) (define-call "symlink" int minusp (oldpath filename) (newpath filename)) (define-call "sync" void never-fails) diff --git a/version.lisp-expr b/version.lisp-expr index 10790f8df..715b64379 100644 --- a/version.lisp-expr +++ b/version.lisp-expr @@ -17,4 +17,4 @@ ;;; checkins which aren't released. (And occasionally for internal ;;; versions, especially for internal versions off the main CVS ;;; branch, it gets hairier, e.g. "0.pre7.14.flaky4.13".) -"1.0.6.14" +"1.0.6.15" -- 2.11.4.GIT