diff options
author | matz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2001-03-26 08:57:16 +0000 |
---|---|---|
committer | matz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2001-03-26 08:57:16 +0000 |
commit | de51a663b4300777be15003388070748a974e7c7 (patch) | |
tree | 635c8f7cfaf91bc155d82dd62b69af9d36f95e16 /missing | |
parent | 44f754bd87e4b800118c59020d67123430535b9f (diff) |
* eval.c: remove TMP_PROTECT_END to prevent C_ALLOCA crash.
* file.c (rb_file_flock): do not trap EINTR.
* missing/flock.c (flock): returns the value from lockf(2)
directly.
* eval.c (ev_const_defined): should ignore toplevel cbase (Object).
* eval.c (ev_const_get): ditto.
* ext/md5/md5.h: replace by independent md5 implementation
contributed by L. Peter Deutsch (thanks).
* ext/md5/md5init.c: adopted to Deutsch's md5 implementation.
* pack.c (pack_unpack): string from P/p should be tainted.
* ext/curses/curses.c: curses on Mac OS X public beta does not
have _maxx etc.
* marshal.c (w_object): should truncate trailing zero short for
bignums.
* object.c (sym_intern): new method.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1281 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'missing')
-rw-r--r-- | missing/flock.c | 17 |
1 files changed, 4 insertions, 13 deletions
diff --git a/missing/flock.c b/missing/flock.c index e293ca0d72..c828fcc7ad 100644 --- a/missing/flock.c +++ b/missing/flock.c @@ -94,7 +94,6 @@ flock(fd, operation) int fd; int operation; { - int i; switch (operation) { /* LOCK_SH - get a shared lock */ @@ -103,8 +102,7 @@ flock(fd, operation) return -1; /* LOCK_EX - get an exclusive lock */ case LOCK_EX: - i = lockf (fd, F_LOCK, 0); - break; + return lockf (fd, F_LOCK, 0); /* LOCK_SH|LOCK_NB - get a non-blocking shared lock */ case LOCK_SH|LOCK_NB: @@ -112,24 +110,17 @@ flock(fd, operation) return -1; /* LOCK_EX|LOCK_NB - get a non-blocking exclusive lock */ case LOCK_EX|LOCK_NB: - i = lockf (fd, F_TLOCK, 0); - if (i == -1) - if ((errno == EAGAIN) || (errno == EACCES)) - errno = EWOULDBLOCK; - break; + return lockf (fd, F_TLOCK, 0); /* LOCK_UN - unlock */ case LOCK_UN: - i = lockf (fd, F_ULOCK, 0); - break; + return lockf (fd, F_ULOCK, 0); /* Default - can't decipher operation */ default: - i = -1; errno = EINVAL; - break; + return -1; } - return i; } #elif !defined NT int |